Almost everyone who has played computer games has heard of DirectX. As the graphics API (Application Programming Interface) of windows system, most PC games need its support.
The latest version of the current DirectX is DirectX 12, it was released six years ago, has not been substantially updated, yesterday Microsoft finally released its upgraded version
What features does DirectX 12 ultimate use?
Since DX 12, Microsoft has opened up the graphic interface between the host and PC. both win 10 and Xbox one use DX 12 as the graphic API. The benefits of using the same API are also obvious. When game companies develop games, they don't need to worry about the migration of Xbox and PC, so we can see that a large number of Xbox games appear in the app store of PC.
The DirectX 12 ultimate released by Microsoft is also a cross platform API, which makes the next generation Xbox naturally obtain some image features on PC, such as the ray tracing popular with Lao Huang.
DirectX Raytracing Tier 1.1
This time Microsoft updated DXR 1.0 released in 2018 to DXR 1.1. This is an incremental update. The most obvious changes are:
Additional shaders have been added to the existing pipeline state object.
It supports GPU to automatically determine the number of rays to be processed by executing the timeline.
Introduce new inline raytracing.
These features provide a set of methods for game developers to avoid complex ray tracing scenes, so that developers can call new functions to obtain object occlusion query, rejection and other functions, so that developers can build ray tracing scenes faster, and provide better ray tracing effect and performance for the game.
After Microsoft released DirectX 12 ultimate, NVIDIA said that it would fully support DXR 1.1 special effects for RTX series processors, and AMD also announced that it would support this feature in rDNA 2 architecture.
VRS (variable rate coloring)
In addition to optical pursuit, the VRS technology introduced by NVIDIA was also recognized by Microsoft and added to DirectX 12 ultimate. VRS full name is variable rate coloring technology, its most obvious role is to reduce the color texture of some unimportant areas in the display screen, so as to improve the smoothness of the screen.
Before this technology is applied, GPU needs to color each pixel separately. VRS is to divide the picture area, select different color resolution for different areas, and color multiple pixels together in areas with low detail requirements, which greatly reduces the number of GPU colors and greatly reduces the computing pressure of the graphics card.
For example, in the above picture, the color resolution of the most inconspicuous position on the edge of the picture is reduced to the lowest level. Although the quality of this part of the picture has declined, because it is only the background, the players will not have obvious perception. The saved GPU resources are used to improve the frame rate and reduce the more obvious stuttering phenomenon.
It can be said that with VRS technology, the low and medium end video card with low average frame rate will get a lot of experience improvement.
In addition to the final pixel shading, the 3D model calculation and rendering of the object need to be completed in the early stage of graphics rendering. A draw call needs to be sent to the CPU before this work. Usually, it will limit the performance of GPU because of the performance bottleneck of CPU.
Mesh shader can solve this problem. It allows developers to complete the rendering process more efficiently with a set of scheduled threads without considering a single vertex or a single entity.
Mesh shader can further improve the thinning degree of geometry, such as programming hardware, describing the position of tree branches in a simple way, and finally generating more detailed bark leaves.
With Mesh Shader, there will be detailed details of shrubs, vegetation and other objects in the game scene, which can further improve the authenticity of the scene.
This function is actually similar to VRS in that it reduces the GPU load and improves performance by reducing some redundant information.
Unlike video compression, which uses frame to frame vector prediction, most of the rendering in the game starts from "0", which means repeatedly obtaining the vertex, perspective conversion, projection, lighting, clipping and gridding, no matter how many frames are the same.
In fact, most games change their scenes very slowly, and most "objects" do not change in the screen (for example, sky, vision). Sampler feedback is to reduce the working pressure of GPU by reducing the speed of coloring these objects (such as every 3 frames).
This function can reduce the impact of repeated shading on vision and slow change on performance, and further improve the frame rate of the picture.
Summary: developer benefits, NV wins
The DirectX 12 ultimate is an incremental update, adding new technologies previously introduced by NVIDIA, including light tracking and VRS. Different from the technological leaps of DX 10 and DX 11, DirectX 12 ultimate is more to provide developers with a lower level of optimization space.
Reflected in the game, we can see that more experienced and powerful developers will use the new features of DX 12 ultimate to make a very amazing game picture, and the performance optimization is also very good. But if the game developers do not call these tools, it will not greatly improve the screen and screen performance.
However, DirectX 12 ultimate spans the host and PC. some games launched on the host may also get new feature optimization after opening to the PC platform.
Finally, good news: NVIDIA said that RTX series will fully support all features of DirectX 12 ultimate, and the Navi architecture graphics card to be launched by AMD will also support DirectX 12 ultimate. Amd has released the first demo to run optical trace.
In the next few years, it will be widely used.