mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-16 15:34:03 +00:00
7ac2eefcb8
The commands _ScreenX and _ScreenY got significantly slower due to the need to wait for the GLUT thread to wake up and execute the glutGet() command for them. We've already seen a few programs (including the IDE) where this behavior completely grinds the program to a halt, so we definitely can't keep it. The simple solution here is to not call glutGet() on every _ScreenX/Y command. Instead every time the idle/timer function runs we get the current values for the relevant glutGet() variables and store them. libqb_glut_get() then checks if the value being read is one of the ones we read in the idle/timer functionand if so just returns the last read value. By doing it this way the commands no longer has to wait on the GLUT thread for the result. |
||
---|---|---|
.. | ||
libqb | ||
parts | ||
.gitignore | ||
common.h | ||
libqb.cpp | ||
libqb.h | ||
msbin.c | ||
mtri1.cpp | ||
mtri1s.cpp | ||
mtri1t.cpp | ||
mtri1ts.cpp | ||
mtri2.cpp | ||
mtri2s.cpp | ||
mtri2t.cpp | ||
mtri2ts.cpp | ||
mtri3.cpp | ||
mtri3s.cpp | ||
mtri3t.cpp | ||
mtri3ts.cpp | ||
mtri4.cpp | ||
mtri4s.cpp | ||
mtri4t.cpp | ||
mtri4ts.cpp | ||
myip.cpp | ||
os.h | ||
purge_all_precompiled_content.bat | ||
purge_all_precompiled_content.command | ||
purge_all_precompiled_content.sh | ||
qbx.cpp | ||
time64.c | ||
time64.h |