3D performance seems to have a saturation point

Discussion in 'Parallels Desktop for Mac' started by wesley, Jun 8, 2007.

  1. wesley

    wesley Pro

    Messages:
    396
    I'm running Mac mini here, so I admit that's the worst end of the Intel Mac graphics performance. Still, on a native Windows environment, it's more than capable of running one of my favourite Korean online racing game, KartRider just fine. In fact, I've run this game on a Radeon 7500 equipped machine.

    So I attempted to play it within the Windows XP SP2 VM I've upgraded from version 2.5.3188. The upgrade went fine, and the game got installed / started fine on the spankin' new version 3.0.4124.

    Then I tried to race on the tracks with other drivers. That's when the puking began. On a relatively simple area, framerates are good, but on even a moderately complex area, the framerates slow down enough to become nauseating. It's as if there's a saturation point that chokes the 3D processing.

    I tried all three screen modes and none of them are noticeably better than the rest. Contrary to Parallels' advertising 3.0 as having near native 3D performance, it seems to be hitting a limit a lot earlier than in the native situation.

    I wonder what can be done to improve the performance to a reasonably playable level?
     
  2. Shidayu

    Shidayu Member

    Messages:
    50
    I have noticed the same with Half-Life 2. It seems that the framerate difference is exponentially linked to the amount of complexity being rendered. Playing this game natively without virtualization, the difference is much more linear, as it should be.
     
  3. wesley

    wesley Pro

    Messages:
    396
    Okay, maybe this is it... I was actively monitoring the CPU usage during the game from the OS X side. When the framerates feel 'smooth', usage hovers around 50% ~ 65% range. Then when it gets choppy, it's always dipping past 70% and often goes into 80% or more.

    As I understand it, Parallels' Direct3D implementation is that of a translation layer from OS X's OpenGL using WINE code. So before OS X's driver can actually process the 3D data, CPU must first 'preprocess'. This leads me to think, though... would upgrading the Mac mini's CPU to, say, a 2GHz Merom chip alleviate the bottleneck to an upper threshold? I wish I had someone with Core 2 Duo Macbook nearby to test this hypothesis.
     
  4. aidan

    aidan Member

    Messages:
    24
    I doubt that would help. I (before downgrading back to 2.5) upgraded to 3 and tried Quake 4 on a dual Quad core 3Ghz machine with 9GB RAM. The frame rates were excellent most of the time but in some sections it dropped to about 1 frame per second, which was unusable.

    The only thing i noticed from the CPU was it seemed to be moving the processing from core to core during the very low frame rate periods. It may be that if they could force the cpu to use the same core all the time, or better still, allow it to use multiple cores. But with the current state of Parallels 3, I think they have bigger problems to fix first.
     
  5. Shidayu

    Shidayu Member

    Messages:
    50
    That can be tested. Apple provides a developer util inside the CHUD package where you can turn cores off. (First install CHUD, then head to your System Preferences. A new preference pane called Processor will be there.) I will try that right now with HL2 and see what I get.

    edit: Well, Parallels doesn't like it when you are too twitchy with the number of cores being used while it's running, and gave me a Kernel Panic. I have to run off to a game called Real Life Job, but I will drag my MBP with me and test this out if I have a few spare moments during the day.
     
    Last edited: Jun 12, 2007
  6. Shidayu

    Shidayu Member

    Messages:
    50
    The verdict is: Turning off one of the cores on a dual-core machine does not improve performance. It actually degrades performance quite dramatically. It is most likely the result of running all of the OS X "engine" and Parallels virtualization on the same core, both competing for resources, rather than a result of Parallels needing both cores.
     
  7. wesley

    wesley Pro

    Messages:
    396
    I think the test would be better done on a quad core rig, like aidan's. Parallels is more or less optimized for dual core, single VM operation in the sense that the VM just gets one core completely, and the general Parallels software operation is done on the other core, it seems. So it'd be better to try turning two cores on a quad core rig and see if that improves performance compared to leaving all four on.

    In any case, I'm seeing the performance bottleneck on a dual core rig here, so that's not really relevant for me. There's no core-switching framerate drop here. Maybe I really do need faster processor after all?
     

Share This Page