Okay, here i’ve a more theoretical question: what means “slow”? This is something where i was thinking about several times “en passent”…
My program uses a self-written script-language for almost everything. Once i have to rewrite the interpreter, because it is buggy an - hmmm - “slow”. Today i would porgram it completly different, but currently it’s performes hundreds of strcmp()-calls per executed script-line, which means possibly near 100.000 per frame. Under this there are various glGetUniformLocation()-calls etc. (some around 50-100 per frame).
On my old notebook i really reached the limit, of what is possible, but on this one, that i have now, i can render a particle-simulation with one million particles. Speed-problems i’ve, when i use system elements, like a file-opening-window, to select a texture for loading, or if a larger part of the ui-window is updated.
Also compiling a shader might be a problem (unfortunately here the new notebook is much(!) slower - possibly the nvidia-driver spends more time on optimisation)
Concerning OpenGL i often read things that have to do with speed, so that each OpenGL-call costs time and that especially legacy-pipeline-calls might do this. If i now try to compare all these things in mind, that are done until one frame appers on my screen, i’ve absolutly no idea, how much performance they need. Month ago i i.e. red an article about the internal basics of GPU-access - so that there are several levels of “depth”, it has to pass until my call gets to the GPU. Therefore i consider my script-language as something like only one additional level and i don’t really wonder that it’s obviously fast enogh so far.
I would expect, that rendering more but smaller (less vertices then my particle-test) objects will sometimes lead the CPU to the limit, because the higher number of script-language-calls, but currently i’m far away of this (CPU-load around 15-20%). So, reprogramming my interpreter is not the thing that has currently high priority, but there i could save lots of time.
What i want to have is a “consistent interface”, so that the my scripts and openGL work together, even if it costs a bit time.
So, finally:
I want to combine shader-programs, openGL-calls an user-interface definition in ONE well readable script-language. But on the other hand i surely don’t want to waste too much performance. As far as i can see the bottleneck is my interpreter, but i’m not sure if i read about that something “is slow” - especially if you consider all the overhead of the OS and the drivers.
So my question from the beginning: What means “slow”? This is no joke. I don’t even have an idea how to scale / compare??
Best,
Frank