Blender Git Loki

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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021