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).

Reply via email to