Blender Git Loki
Git Commits -> Revision 60b5410
Revision 60b5410 by Sergey Sharybin (cycles-x) March 19, 2021, 16:43 (GMT) |
Cycles: Avoid explicit CPU-side buffer in GPUDisplay The idea is to use OpenGL texture and pixel buffer object to push pixels from PathTrace to the GPU for draw. The need of the PBO is because updating texture from the copy_pixels_to_texture() function turned out to be quite expensive in terms of CPU time spent, degrading viewport render performance. The downside of this approach is that the peak memory might be higher when rendering on a multiple devices compared to partial direct texture updates. Although this is hard to tell for sure, since it depends on exact way of how driver schedules updates and manages memory. The upside of this change is that it makes it so PBO is there, ready to be used by CUDA's GL graphics for direct update without CPU memory round-trip. The performance is a bit hard to measure, since the timing varies quite a bit, but on the CPU it is the same ballpark. |
Commit Details:
Full Hash: 60b54106e9a78098dbc316e2882539a0962f8f91
Parent Commit: b72939a
Lines Changed: +187, -73