Everyone always references Minecraft, but that's not the only Java game out there. There are quite a few on Steam. You'll never even know they're Java if you don't follow their development, as they ship with a bundled JRE. The Java games that perform poorly or hog resources are always held up as an example of why Java is a dog or why GC for games is a problem, but then the ones that perform well don't even become part of the conversation.

Experienced Java game developers know how to code to the GC and tune their apps to maximize performance. There's quite a lot of knowledge tucked away in the posts at java-gaming.org, where they've shared their experience and their games. The GC itself is not a deal breaker, nor is the Java language. People prove it every day.

The same can be true of D. When enough D experience has been accumulated and shared, people will be writing games that take the GC into account. There's no reason to avoid it completely. It can be made to work for you. Even today, games in C and C++ focus on minimizing allocations, using the stack as much as possible and setting aside as much heap memory up front as they can. Given that collections in D only run during allocations, there's no reason why that same strategy won't work in D. It's all about strategy and profiling, finding what hurts performance and learning how to avoid it.

Reply via email to