so instead I worked on tweaking render performance, I wasn’t pushing acceptable framerates and the reason for why is of course that I was pushing almost 7,000 draw calls every frame.
Optimizing that down to 1 gave me these performance metrics:
10k tris (1 draw call) – 60 fps (vsync locked?) (before: 15 fps, 6,864 draw calls)
100k tris (10 draw calls) – 60 fps (before: sub 5 fps, 68,640 draw calls)
1M tris (100 draw calls) – 60 fps (before: what a nice slideshow, could you perhaps move the frames a bit more often than onece a minute 686,400 draw calls)
5M tris (500 draw calls) – 60 FPS (before: never tried, closest was 3.14M tris @ pls kill me now FPS, 6,864,000 draw calls)
The drawback being that each chunk now takes 3.2 seconds to build instead of 50ms, this might not sound like an issue until you look at the fact that generating a 1km^3 (5,271,552 tris with the testing chunk spammed over and over) takes a bloody hour
oh well, you win some you lose some; at least this is in the realm of things I understand, things I can do math with, things I can plot on graphs, things I can optimize. (unlike simplex which just hurts my head and melts my brain)
another issue is that this slows down exponentially as chunks get larger, for 16^3 the time taken is 3.2 seconds.
for 32^3 it’s 5.34 minutes, orders of magnitude slower.
At least it also uses less memory as well.
I suppose you win some and you lose some, this took one huge weight off my shoulders and instead put another one on.