Its been a while when i worked on this thingy.
I once wrote here how original editor uses low resources.
I quickly put together simplest opengl app without nxPascal that uses FormPaint event instead of any (game) loop or timer.
How to render more with 0 or very low cpu usage?
Original editor has always 0 cpu usage, only when you change block or move mouse or rotate the scene it gets a bit higher and after that its 0 again.
In FormPaint i do
In FormResize i do
glDraw(); // Draw the scene
SwapBuffers(DC); // Display the scene
and CPU usage is small, practically zero. Of course i havent tried to render big map yet, just simple rectangle.
While i resize the form, then the CPU usage goes a bit up and as soon as i stop resizing it goes back to 0.
I think original editor uses same approach with the DirectX.
Because when you modify any block in map, for example change the slope type, then you wont see updates immediately, but later when you do something else.
So it seems its not re-rendering whole scene every frame but only when you click somewhere or change something else.
It may be calls "Paint" event when needed only.
So question is, is this do-able with nxPascal? And at the same time still keep same framerate on all PCs and so the picking also works as needed?
I ask this to reduce the CPU usage which is high, even if you dont do anything. Rendering just makes it go high.