On Tuesday, 21 May 2019 at 14:04:29 UTC, Robert M. Münch wrote:
Here is a new screencast:
https://www.dropbox.com/s/ywywr7dp5v8rfoz/Bildschirmaufnahme%202019-05-21%20um%2015.20.59.mov?dl=0
That looks better :-)
So this gives us 36 FPS which is IMO pretty good for a desktop
app target. There might be some 2-3ms speed-up still possible
but not worth the effort yet.
That's true. High efficiency spatial datastructures are hard to
refactor so better to keep it simple in the beginning. Leave
yourself room to experiment with different class hierarchies etc.
Just make sure that you pick an architecture that allows you to
use spatial datastructures later on!
Another option is to use 2 passes.
Pass 1: collects geometric information, could even use virtual
function calls.
Pass 2: highly optimized algorithm for calculating layout
plugin-style (meaning you can start with something simple and
just replace it wholesale since it doesn't depend on the object
hierarchies)
Then you can think more about usability and less about
performance. Sure, there is a performance price, but flexibility
is more important in the first iterations. KISS until the design
is locked down FTW.