In the WebGL game I'm working on
in my free time, Internet Explorer beats Chrome's WebGL game performance. Strange, you think? Here are the details:
Chrome 47 seem to have introduced a change which is causing Endtime at Home
not to work anymore nicely. Try it for yourself: start a game
, go forward for about 600 meters, and then turn your head quickly about 180 degrees. If 'lucky' you can even skip the "walk 600 meters" part. The game will nearly freeze, dropping to a frame rate of about one frame per 5 seconds. I made a lot of tests, and I'm pretty certain this is likely caused by Chrome's garbage collector (or something related), which now kicks in more aggressively once your used memory has reached a certain threshold. But I'm not 100% sure yet, so any hints would be welcome.
It is possible to work around this issue by showing much less of the world to users using this browser version, but I decided to show a warning message for now. It works nice for all other browsers like Firefox and older Chrome versions. Interestingly, even Microsoft's Edge browser works nicely with the game. And it is pretty fast!
Curious, I even tried the game with Internet Explorer 11. And yes. Even IE is running this game faster then Chrome 47. What a shame.
I reported the bug already to Google, let's see if they get the problem fixed soon.
Does any other developer discover a similar problem? Or a solution to this?
The problem has now been fixed. I'm still unsure what was causing this, but I moved my code to use requestAnimationFrame() instead of setInterval(), and now it is also smooth on Chrome. Strange.