3

Using Chrome 12 my game is drawing smoothly. But Chrome 14, which appears to use the GPU for drawing, has an enormous negative impact on the performance of my game.

I made a jsFiddle to see when exactly it happens and this simple code is already running into problems: http://jsfiddle.net/eGjak/48/.

  • On Chrome 12, the FPS is 62, which is even more than my screen frequency.
  • On Chrome 14, the FPS is ~25.

25 FPS is quite acceptable, but in my game I'm drawing even more and it is running down to ~8 FPS there, which definitely is not acceptable. I've never had any performance problems but the GPU update for canvas is a bottleneck for me.

  • Why is some simple drawing on canvas so much slower using the GPU?
  • Can I disable Chrome from using the GPU through JavaScript? (Or is there another solution for this?)

Edit: Filed a bug at http://code.google.com/p/chromium/issues/detail?id=89540

14
  • Getting 60fps in 3 different versions of chrome (the webkitRequestAnimationFrame limit) :) Commented Jul 15, 2011 at 18:29
  • @cwolves: Might it be my GPU which is not improving anything? (I'm using a laptop, which I once read do not have so good GPUs or something.) Commented Jul 15, 2011 at 18:30
  • jsfiddle.net/eGjak/50 <-- using a timer, getting ~200fps in chrome 12 & 2 versions of chrome 14 (new macbook pro). Yes, it's theoretically possible that your GPU is slowing things down for this example because of the CPU-->GPU-->CPU round trip actually being more expensive than the rendering in this example (it's a very simple example). I'd be curious what you get for some of the examples on github.com/mrdoob/three.js, which are much more complicated Commented Jul 15, 2011 at 18:32
  • @cwolves: Thanks, but same thing there. Around 70 FPS for Chrome 12, still 25 for Chrome 14. Commented Jul 15, 2011 at 18:36
  • @cwolves: three.js is also jerkier on Chrome 14 for me. 16 FPS on Chrome 12 for canvas_particles_sprites.html and only 8 on Chrome 14. Commented Jul 15, 2011 at 18:45

2 Answers 2

2
+50

I'm getting 60fps in Chrome 14 just fine.

I can almost guarantee this is due to hardware acceleration being on by default in Chrome 14 and not in 12. Specifically the waiting for vertical sync, which didn't happen before.

In Chrome 14 and beyond GPU accel (of Canvas) is no longer a flag you can turn on and off - it is a default. Sorry.

You can however still disable GPU Vsync in Chrome 14 if you go to chrome://flags/. This will almost certainly give you more frames.

However it is not something you can make your users do.

Sign up to request clarification or add additional context in comments.

7 Comments

I'm not that much into the world of GPU - is hardware acceleration a negative thing?
No, typically its a positive thing. Having vertical Sync will pin it to a much slower speed though, so if you want to compare past benchmarks to current ones, you're going to have to take that off.
Vertical sync means that it will clamp the frame rate to the screen's refresh rate, which is usually 60Hz.
@kcbanner: In that case, shouldn't I still get ~60 FPS? I don't see how that can cause the FPS to drop to 25.
It gets a little complicated, but here is a very good explanation of why its not as simple as "cap at 60FPS" and more like "slow things down across the board": hardforum.com/showthread.php?t=928593
|
0

I just installed Chromium 14.0.831.0 build 93677 (as opposed to 14.0.917.0 build 91952) and things were fine again. It's now just under 60 FPS instead of ~62, but oh well...

I guess the main point is that things come and go too fast with nightly builds. My game is running fine again (and since today the latest nightly build uses the new WebSocket protocol which is a great as well).

I hope I'm not getting too fired up of this as it might just slow down next week again, but I'll see.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.