Problem resolved: solution = (##gc)
:-)
Maybe the right answer is "Don't do this in Gambit", but I'd like to give it a try:
I'm writing an application, in Gambit. It does OpenGL graphics. It runs at 100fps. It's interpreted.
Now, put down the pitch fork -- the only thing it's doing at 100Hz is
for 20 different objects
glLoadIdentity
glPushMatrix
some rotation
glCallList
glPopMatrix
This works fine, _except_ when I get hit with a gambit gc, it costs me like 70ms ... which becomes a noticable lag in my otherwise smoothly rotationg screen.
What are my options? Can I get a thread local heap? My basic usage is the following:
launch gambit app
--> it opens up a glut window
--> it listens on port ABCDE for new graphics primitives
in my editor window, I type some code; I send new primitives to port ABCDE; my gambit app spends a bit of time building it into a new display list
That's all. What can I do in this particular situation?
Thanks!