Slowdown in Lion fullscreen

Issue #107 resolved
Anonymous created an issue


The performance in Mac OS X Lion using the 1.1 version, is in almost every game I have played extremely bad in full screen. In a windows, everything works perfect, but the second the new full screen system is used the performance drops.

The only game I managed to get working good was Warcraft II. Duke 3D, Pinball Dreams, Theme Hospital, Transport Tycoon and more, they are unplayable in full screen. But in a windows they work fine.

Plus Red Alert has decided, even with the 1,08 patch to go black on the map again.


Comments (13)

  1. Alun Bestor repo owner
    • changed status to open

    This may be a duplicate of issue #79, but if these games all worked fine in fullscreen under Snow Leopard then the problem is likely to be elsewhere.

    One possible culprit is that the emulation delay caused by switching to fullscreen is interfering with timing-sensitive games, throwing off their timing calculations. You could test this by pausing before switching to fullscreen, then unpausing after the switch is complete.

    The Red Alert issue is unrelated, and covered under issue #80. In short, that one is out of Boxer's hands.

  2. Alun Bestor repo owner

    Further diagnosis: does the performance return to normal as soon as you leave fullscreen? If so then this is unlikely to be a game timing issue (as the timing should still be borked).

    It would also be useful to know your Mac's graphics chipset, which you can find out from Apple Menu->About This Mac->More Info...

  3. Anonymous


    The moment i leave full screen the performance goes up again. Pausing and unpausing the game didn''t change anything.

    Everything was working fine in Snow Leopard in Version 1.0

    I have a MacBook Pro 13" mid 2010 (I think) Specs: Intel Core 2 Duo 2,4 Ghz 4 GB DDR3 Ram 320M nVidia Graphics 256 MB shared memory


  4. Alun Bestor repo owner

    Aha, that's very useful to know - it's the same graphics chipset as in my development Macbook Air, which has exhibited no such symptoms during Lion testing. I haven't tested those particular games however.

    I will follow up further on this issue next week, once I'm back with my Lion installation (I'm away from home at the moment.)

  5. Anonymous


    Thats quite alright.

    The easiest game to test this on is Pinball Dreams. It runs a small demo when entering a game. And that shows the problem, without you actually need to play it.

    If necessary i can send you the game box i have with Pinball Dreams!


  6. Alun Bestor repo owner

    Two other things to try:

    1. Does the performance stay the same if you Cmd-click to unlock the mouse, and then move the mouse to the top/bottom of the screen to bring up the Dock or menu bar?
    2. Do you get similar performance problems if you click the + button to zoom the window to the maximum size that will fit on screen?
  7. Alun Bestor repo owner

    OK, I'm able to replicate the performance problems in Pinball Dreams under Lion; although Duke3D, Ignition and other fast-updating games have worked fine for me so far. It would really help if I could have a complete list from the OP (and other commenters) of each game that has exhibited these problems, because this is evidently game-dependent.

    With Pinball Dreams, it appears Boxer is trying to update the screen too fast (or at the wrong times) in fullscreen mode and the emulation is blocking while it waits for an opportunity to draw. It would be easy for this situation to arise with other games, depending on the timing of the emulation.

  8. Alun Bestor repo owner
    • changed milestone to 1.1

    OK, I think I've fixed it: I've now swapped in an alternate screen-update technique that I'd tried out a while ago but couldn't find any tangible benefit from. This will become the default path for Lion, though I need to do some testing to make sure it doesn't regress performance on Leopard and Snow Leopard (and to make sure I've cured all the problems in Lion - so do let me know of all those games).

    The fix will appear in 1.1.1 in any case, but if you have XCode then you can build Boxer from the latest source to try it out yourself.

  9. Anonymous

    Hi Alun

    I have tester with other games. Some games have bigger problems than other. I have an old game called Rally Championship made from Network Q. It works fine. But pressing it really hard can cause a lag. So i guess thats just a combination of the limits of power from dosbox and the full screen issue.

    The game Transport Tycoon Deluxe however tends to start lagging when your transport company gets large. But i guess thats just the limit of dosbox. This performance problem was there also in 1.0 and Snow Leopard. So i guess its only the need for more performance.

    And as far as i know, dosbox is giving everything its got.

    And for Xcode thing, yes, I have Xcode laying around from my Snow Leopard disc. And i have tried some C# programming once in Microsoft Visual Studio. But i can't really find out how to get Xcode to work, besides, I don't know the programming language.

    But thanks a lot for your help.


  10. Alun Bestor repo owner

    In cases where the emulation cannot keep up with the demands of the game, then the lag should appear in both windowed and fullscreen modes, and in Snow Leopard as well as Lion, as it's unrelated to rendering.

    The cause of this specific fullscreen bug is that Boxer is trying to draw to the screen too early (before OS X is ready) and being forced to wait until it can draw, causing disruptive emulation delays.

    The fix moves drawing off to a separate thread, and ensures it only happens when OS X is ready to refresh the screen - thus, it cannot stall the emulation while waiting to draw. This *may* also fix issue #79, a very similar problem under Snow Leopard.

  11. Log in to comment