Since the 20.11.2 version of Radeon Software, the efficiency of NGG mode has greatly improved, but only on RDNA2 GPUs.
Since the release of the first graphics driver based on RDNA architecture, AMD has used an NGG mode in its graphics drivers that not only modifies the processing schedule, but also tries to translate vertex and geometry shaders shipped into programs into primitive and surface shaders, so the application is useless. written on an old graphical assembly line, some code is already running on the new generation system.
Microsoft is already making this assembly line available in the DirectX 12 Ultimate API, allowing developers to write so-called mesh shaders. This allows for much more efficient processing, which is already used by some games designed for the Xbox Series S and X consoles. However, none of the released programs also deliver mesh shaders to PCs, so traditional vertex and geometry shaders run on this platform. The reason is actually due to the fact that the two systems are not compatible with each other, and in addition to the new hardware, the old ones must also be supported, i.e. the applications must be written on both conveyors. In terms of maintenance, however, this can be a big expense, so currently only the old assembly line is supported by the PC ports, which runs on all available hardware.
Because of the above problem, AMD designed the RDNA architecture to be able to compile old code on the new assembly line, so no matter if developers choose the convenient solution, Radeons can achieve the benefits of the new assembly line. However, this was not fully exploitable for the Radeon RX 5000 series, i.e. for the first generation RDNA, some vertex and geometry shader codes could not be translated by the drive into the primitive and surface shader steps.
With AMD’s own profiling, we observed this in several applications, and we found that in the games in our tests, the compiler built into the device driver was able to convert 40-60% of the vertex and geometry shader codes to primitive and surface shader steps. In contrast, the hardware responsible for processing geometry in the RDNA2 architecture has changed, and as a result, NGG mode has been different since Radeon Software version 20.11.2, which does not affect previously released GPUs based on the first-generation RDNA architecture.
The updated NGG mode already translates 95-100% of vertex and geometry shader codes into primitive and surface shaders, meaning that it doesn’t matter if the developer writes support for the mesh shader, the Radeon RX 6800 and 6900 series will definitely run a significant portion of the application on this system. This is good news at first reading, as we could say that AMD is sparing developers from the hassle of PC porting, but the reality is completely different. First, vertex and geometry shaders can only be handled by RDNA2 GPUs on a new generation assembly line. While RDNA isn’t so bad, all other graphics drivers are forced to use the old assembly line because, unlike AMD, Intel and NVIDIA have built in the hardware that handles the mesh shader in a separate form, meaning you can’t just turn it over. shaders written on old conveyor ladder. That’s the problem here, and AMD’s solution doesn’t at all help developers head to the mesh shader as soon as possible, because it’s much cheaper for them if the drive does the trick, even if it’s only from one of the manufacturers.
However, NGG mode itself is not as efficient as writing codes in a direct mesh shader. It is a good solution as a temporary solution, but in the long run, it would be in everyone’s interest for PC ports to receive mesh shaders written for the Xbox Series S and X consoles, and it would be a shame if developers left more than necessary to handle this problem. to the tricks of some drives. For the time being, however, convenience considerations are still to be decided, so one can only hope that the situation will change over time.
Source: Hírek és cikkek – PROHARDVER! by prohardver.hu.
*The article has been translated based on the content of Hírek és cikkek – PROHARDVER! by prohardver.hu. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!
*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.
*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!