A deprecated sample comparing OpenGL and Vulkan rendering techniques for CAD scenes using multi-threaded command buffer generation.
gl_vk_threaded_cadscene is a deprecated NVIDIA sample that compares rendering techniques between OpenGL and Vulkan for CAD scenes. It focuses on optimizing CPU performance when rendering many small draw calls by using multi-threaded command buffer generation and various state management strategies. The sample demonstrates how different API approaches affect performance in draw-call bound scenarios.
Graphics engineers and developers working on CAD applications, game engines, or real-time rendering systems who need to optimize CPU overhead in draw-call intensive workloads.
Provides direct performance comparisons between OpenGL and Vulkan in a controlled CAD rendering scenario, with detailed analysis of threading strategies and state change optimization techniques that are rarely documented elsewhere.
OpenGL and Vulkan comparison on rendering a CAD scene using various techniques
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides empirical data comparing core OpenGL, NVIDIA extensions, and Vulkan, highlighting CPU overhead reductions in draw-call heavy scenarios.
Demonstrates using multiple CPU threads to build command buffers, significantly reducing CPU bottlenecks, as shown in performance tables with up to 2x speedup.
Implements global sorting and material grouping to minimize shader and binding changes, optimizing rendering efficiency for CAD scenes.
Includes built-in graphs showing GPU and CPU time breakdowns, helping identify bottlenecks in real-time, though with noted skewing issues.
Marked as deprecated from older Vulkan versions, with the README recommending newer samples, limiting its relevance for current development.
Relies heavily on NVIDIA extensions like NV_command_list and bindless, making it non-portable and unsuitable for other GPU vendors.
Requires specific SDKs like Vulkan-SDK and has complex cmake options, with performance measurements prone to skewing from CPU bottlenecks.