Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why would you expect to perceive GC stutters?

Much as I loathe Java-the-language, it continues to amuse me that the game that sold for $2.5B (and that's after extracting revenue from 60 million sales) was written entirely in Java.

I continue to suspect that GC concerns are mostly (but not entirely!) FUD. Can GC pauses cause some impact, certainly, but how much?

Console certification standards are very gruelling, so for a studio with a huge budget, no price is too high to avoid failing certification because two frames go bad in ten minutes. Otherwise, how big an issue is it really?



Minecraft's java version has (or had, back when I played it) noticeable stutter issues (not necessarily caused by the gc). The Bedrock version (written in C++) is much smoother in comparison. The Java version is only for pc/linux/mac. Bedrock is used for modern consoles and mobile. I believe they also had a separate C++ code base for older consoles.


Re: the Java version having stutter issues, hmn, fair enough. I didn't notice any, way back when I last played Minecraft.

Re: a rewrite to C++ for consoles and mobile, yeah, when you've got hundreds of millions of dollars for a game whose prototype took about two human-years to write, seems like a good choice to rewrite it for a few-percent perf gain. And, repeating myself, console certification standards being what they are, it makes sense for a company trying to ship to console to be terrified of gc stutter, even if GC only drops one frame a minute. So yes, if you have a console goal, or yes if you have almost infinite engineering money, writing or rewriting in C++ is probably a good idea.

Do you know anything about why modern console and older consoles allegedly have separate codebases?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: