Blender Git Commit Log
Git Commits -> Revision 8dc6fab
Revision 8dc6fab by Antonis Ryakiotakis (master) May 28, 2015, 15:01 (GMT) |
Optimize render part commiting to render queue to mitigate delay in T44869. There are a couple of issues here: * Code repeatedly calculated center of ready rendered parts even though they would not change while the operation was done. * Code would calculate distance of tiles from center multiple times * Code would traverse all items, even the ones already sorted * Traversal used linked lists which is quite slow. Mitigated these by doing one pass for the center, a second to calculate distances and a qsort at the end. Should result in O (n * (log n + 2)) instead of O (n * (n * 2)) complexity, plus the number of repeated operations is much less as well. |
Commit Details:
Full Hash: 8dc6fabc34a918ab3a82f93b56d539c4694a8c21
Parent Commit: eb476c2
Lines Changed: +53, -25
1 Modified Path:
/source/blender/render/intern/source/pipeline.c (+53, -25) (Diff)