On Wednesday, 5 February 2014 at 21:37:22 UTC, Benjamin Thaut
wrote:
If you didn't deal with GC pause times, you will have quite
some fun with it. I wrote a small game engine in D, and I ended
up running the garbage collector every frame to get stable
framerates. Not doing it resultet in 3-10 second pauses during
gameplay because of GC collection.
http://www.youtube.com/watch?v=mR2EQy3RRyM
Because the GC used up to 8 milliseconds every frame (which is
50% for a 60 FPS game), I finally removed the GC from druntime
and I'm using a GC free version of D since then. This however
comes with maintaining a custom version of druntime and phobos
(stripped down to about 10% of the modules) and writing my own
standard library.
You can read more about the GC issues here:
http://3d.benjamin-thaut.de/?p=20
Kind Regards
Benjamin Thaut
I actually saw your webpage after some googling about d's garbage
collector. What I'll probably think about doing when I get the
engine running is make it easy to do that kind of change like
you're doing where you can bring it in and out since it could be
great for performance but might really hurt development time.
One of the large reasons I wanted to go with D was because of the
GC helping deal with a lot of the boilerplate stuff I kept
dealing with in previous iterations of the game i'm making (long
story short it's had about 30 rewrites/redesigns because i can
never make up my mind).