4

I have a new iMac. I have been playing Quake Live. When I play I get either 85 fps, or a weird effect where the framerate starts at 125, then drops to 85fps and builds up again to 125 fps.

Changing the screen resolution to 400x300 produces the same result. So the machine is render bound.

I thought this was odd, so I ran quake on the same machine under bootcamp running Windows 7. I get a rock solid 125 fps and a better connection over wireless.

My Quake is configured correctly on both systems (ie. com_maxfps etc..), I use Chrome as my browser on both systems.

So the question are:

  1. What exactly is stopping the Mac performing as well as Windows?
  2. Is there a way to improve the Macs performance?
1
  • 1
    Your screen probably doesn't even refresh at 85fps, so a "drop" from 125fps to 85fps would make absolutely no difference whatsoever. Commented Dec 11, 2011 at 21:48

2 Answers 2

1

Traditionally id games are all OpenGL based, so I would look at updating your Mac video card drivers for better / more mature OpenGL support.

If there aren't any graphic driver updates available for the Mac, you might be out of luck -- I don't think Nvidia or AMD/ATI offer independent (direct from their website, not through Apple) driver updates. At least there is no "Mac" OS selection at http://support.amd.com/us/gpudownload/Pages/index.aspx for example.

2
  • 2
    Thanks Jeff. As you may already know Mac users have no control over the graphics driver. My iMac is patched to the latest and greatest. I am seriously tempted to email John Carmack and ask him. I suspect the general slow down is due to Apples OpenGL layer. However the spike slow down, all bets are off on what that is.
    – Rich
    Commented Dec 11, 2011 at 16:18
  • I had the same problem with Quake 3 on a mac years ago. I would agree the OSX OpenGL Layer is probably slowing things down.
    – ScArcher2
    Commented Jun 10, 2013 at 21:35
1

The problem:

Part of the problem is that Quake Live is running in a web browser. Browsers these days have even more "responsibilities" than previous ones. A browser has lots of background tasks such as monitoring RSS feeds, garbage cleanup, cache management and other I/O intensive tasks. Most browsers don't have direct hardware access either. Another issue is the fact that too many developers for Mac OS X don't optimize their ports. The best example of that is Adobe's Flash. Its not optimized nor does it really use CoreAudio, CoreImage, CoreVideo, QuickTime or OpenGL, all of which do have direct hardware access.

Possible solution:

You should consider using a single site browser such as Fluid to run Quake Live. Fluid runs a minimal WebKit browser with all the plugins available, so you should be able to run Quake Live in it. Since Fluid is WebKit based, it will also share your cookies with Safari and other WebKit browsers, so you won't have to login again or set any other cookie or local storage-based settings again.

2
  • I think QuakeLive has direct access to the hardware as it installs a plugin which runs in a separate window. I think Quake Live is isolated from the work the browser is performing. As i mentioned in the question the main problem is why it runs faster on Windows than on the mac using the same computer (via bootcamp) and the same browser (chrome). For completeness I have tried Quake Live in different browsers on the Mac and it runs the same speed, about 83-85 fps (slower than Windows).
    – Rich
    Commented Dec 14, 2011 at 8:31
  • @Rich A separate window is not a separate process in Mac OS X. That said however, the internet plugin subsystem on Mac OS X has been changed in 10.6 so that each plugin run in a child process of the browser (meaning if say 1 Flash movie crashes, all Flash movies stop). However, these plugins are still constrained by the plugin API and sandboxing to keep them from arbitrary access to the computer.
    – CyberSkull
    Commented Dec 14, 2011 at 15:33

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.