Multithreading
Multithreading has been one of our primary efforts to improve DCS performance, and it is currently in closed beta testing. Initially two threads (graphical and logical) will be implemented, and once the technology is stable and mature, we plan to expand this number. Large and complex missions, both single player and server based as well as the upcoming dynamic campaigns, will see the most significant performance enhancements.
Our render graph was written from scratch along with many other subsystems. We now benefit from parallel rendering that schedules inter-dependent rendering tasks in a correct and optimal order (e.g., mirror reflections first, then mirrors while running other independent draw calls in parallel), frame graph, graphic scenes, scene renderer, and scene manager. We unified all other graphic subsystems that permit node embedding in the render graph. This allows us to rapidly experiment with new graphic pipelines and enhance efficiency. The introduction of our render graph will improve DCS efficiency and deliver optimal performance with modern graphics APIs such as Vulkan.
Vulkan API
Implementation of the Vulkan API continues in parallel with the multithreading effort. Our Vulkan renderer is integrated with the new render graph, and it benefits from multithreading by using render graph mechanics of background loading of textures and geometry, rendering objects in parallel, terrain streaming, etc. As a result, many rendering tasks submitted to the graphics card will no longer need to wait for each other and hence be processed simultaneously.
In our endeavor to unify DirectX and Vulkan renderers, we have developed a mod state where both backends produce identical results. We now have two fully compatible implementations that run under the same API. This means that all our applied graphics modules (the code that renders our skies, clouds, models, effects, etc.) will work the same way on both renderers. To achieve this, we ensured that all our shaders could be converted into Vulkan format in addition to implementing a shader converter available from within DCS permitting to compile any shader on the fly. It is interesting to note that the shader conversion has taken an inordinately large amount of time.
The main achievement in 2022 is that DCS now works under Vulkan producing the same visuals as under DirectX. This result is fully ‘transparent’ for our graphics programmers, allowing them to write the same code for both platforms without the need to have separate code paths for Vulkan and DirectX11 and beyond.
The next step is to provide our graphics programmers with the new Vulkan features compared to DirectX 11. These include new types of shaders (as per Shader Model 6 and further), ray tracing, some advanced rendering techniques, such as GPU driven rendering, and similar.
DLSS
Deep Learning Super Sampling (DLSS) 2.0 is coming to DCS this year. DLSS is a family of real-time deep learning image enhancement and upscaling technologies for RTX 20, 30 and 40 series Nvidia graphics cards. The goal of this technology is to allow most of the graphics pipeline to run at a lower resolution for increased performance, and then infer a higher resolution image from this that contains the same level of detail as if the image had been rendered at this higher resolution. This allows for higher graphical settings and/or frame rates for a given output resolution, depending on user preference.
In addition to DLSS, Nvidia Image Scaling (NIS) will also be available. NIS is a scaling and sharpening tool with an algorithm that uses a 6-tap filter with 4 directional scaling and adaptive sharpening filters to boost performance. This is best used for non-RTX Nvidia graphics cards that do not support DLSS.
Following the completion of DLSS/NIS, we will investigate Fidelity FX Super Resolution (FSR) for AMD GPUs.
Spherical Earth Map
2022 saw great progress creating the tools and technologies to support a precise spherical Earth map for DCS. Because this map will be based on current day, it will operate independently of the current and future regional maps that allow historic maps such as World War II, Korea, Vietnam, and other scenarios. Spherical Earth efforts will continue in 2023.
Eagle Dynamics Dynamic Campaigns Engine (EDDCE)
2022 saw the completion of all major engineering components of the EDDCE. In 2023 we continue development and testing and making improvements to these components as well as adding new features where needed. We are also enhancing the mechanics in the campaign editor to avoid issues that may arise when the EDDCE is used for different maps. The next big tasks include transferring mission data between player and AI pilots and creating a specific graphic user interface.
Meer in de link:
https://forum.dcs.world/t...ews-2023/#comment-5124295