Poor performance of PlayCanvas' Swerve game |
|||||
Issue descriptionVersion: Chrome 52 OS: Mac OS X, Android PlayCanvas' Swerve game at: http://playcanv.as/p/y3ZFwtwW performs poorly especially on Android. Some jank is also observed on desktop platforms like Mac OS X and Windows. Some analysis has been done already, and some bottlenecks have been identified. Following comments will capture some of the analysis already done.
,
May 19 2016
Reply from PlayCanvas: ---------- 1. Yep, we know about this and we want to get rid of the call. To do this is actually rather difficult, but we want to look into it. getBoundingClientRect also generates garbage, so another reason to remove it from our render loop. 2. This is not part of the game I know about and the engineer that wrote it is off sick today. Should be back tomorrow. I'll ask him to look into it. 3. The render function does indeed take a long time. Most of the time is spent here. We set textures, uniforms, buffers and then submit the draw call. I'm not sure what we can realistically do to improve this part of the engine. But since so much time is spent in the draw function, a small change could generate a big win. Open to suggestions here. 4. Yes, a couple of shaders get compiled at runtime, but I believe only when you crash, not when gameplay is running. So they're not too serious. 5. This would be cool if something can be done Chrome-side.
,
May 19 2016
We'd like to prototype overlays for WebGL on Android to see if the majority of the "Composite Layers" step can be removed. Need to gather a trace rather than use the Timeline view to see what is actually happening in there.
,
May 19 2016
,
May 24 2016
The game has now been officially released so feel free to make this bug public. Also, the current build can be found on this link now: http://playcanv.as/p/y3ZFwtwW To run the game 'predictably' although not completely deterministically, use this link: http://playcanv.as/p/y3ZFwtwW?autoplay=true
,
May 24 2016
Thanks. Making bug publicly visible.
,
Aug 16 2016
Still need to compare Chrome to Firefox and Safari, possibly using Quartz Debug or other tools, and see whether the framerate is similar and whether Chrome's dropping frames.
,
Aug 24 2016
We've talked with PlayCanvas recently and I've run the game on other browsers. At this point it looks like the stutters happen across browsers, and PlayCanvas has indicated that they feel they need to optimize the game itself more before asking the browser implementers to take a look. Consequently closing this as WontFix (not a bug) for the time being. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by kbr@chromium.org
, May 19 2016