2bd4e101a0180d622d2c8dd418df5265cdf72d22
Cycles uses pixel buffers to update the display. Due to making things work the vulkan backend downloaded the GPU allocated pixel buffer to the CPU, Copied it to a GPU allocated staging buffer and update the display texture using the staging buffer. Needless to say that a (CPU->)GPU->CPU->GPU roundtrip is a bottleneck. This PR fixes this by allowing the pixel buffer to act as a staging buffer as well. Viewport and final image rendering performance is now also similar. | **Render** | **GPU Backend** | **Path tracing** | **Display** | | ---------- | --------------- | ---------------- | ----------- | | Viewport | OpenGL | 2.7 | 0.06 | | Viewport | Vulkan | 2.7 | 0.04 | | Image | OpenGL | 3.9 | 0.02 | | Image | Vulkan | 3.9 | 0.02 | Tested on: ``` Operating system: Linux-6.8.0-49-generic-x86_64-with-glibc2.39 64 Bits, X11 UI Graphics card: AMD Radeon Pro W7700 (RADV NAVI32) Advanced Micro Devices radv Mesa 24.3.1 - kisak-mesa PPA Vulkan Backend ``` Pull Request: https://projects.blender.org/blender/blender/pulls/133485
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
