Mac OS X 30 to 50% slower than Windows for 3D acceleration

Discussion in 'OS X Mavericks (10.9)' started by gto55, Aug 27, 2013.

  1. gto55 macrumors 6502a

    gto55

    Joined:
    Mar 14, 2010
    Location:
    Tel Aviv
    #1
    Maybe Apple should recruit some developpers for drivers:confused:

    http://netkas.org/?p=1292

    Same post as previous, but for amd videocard, 7950, osx 10.9 vs win8+catalyst 13.8b2
    OSX 10.9
    [​IMG]
    Win8 OGL
    [​IMG]
    Win9 DX11
    [​IMG]
    OSX AMD drivers are 34% slower than windows ogl drivers and 51% slower than windows DX11 drivers
    such result could be due to extreme tessellation mode and inability of osx drivers to handle it fast enough. Also 8xAA made a big hit.
    [​IMG]
     
  2. maflynn Moderator

    maflynn

    Staff Member

    Joined:
    May 3, 2009
    Location:
    Boston
    #2
    You realize that Mavericks is in beta meaning no optimization code but rather the debug code. You're comparing apples and oranges at this point
     
  3. gto55 thread starter macrumors 6502a

    gto55

    Joined:
    Mar 14, 2010
    Location:
    Tel Aviv
    #3
    an apple to be realeased in less than 2 months according to macrumors :D
     
  4. gumblecosby macrumors 6502

    Joined:
    Jun 22, 2010
    #4
    Here are some more tests. Seems to be closer to Windows 8 openGL performance in these ones.
     
  5. Krazy Bill macrumors 68030

    Krazy Bill

    Joined:
    Dec 21, 2011
    #5
    This is how they're going to give you 12 hours of battery life. :D
     
  6. maflynn Moderator

    maflynn

    Staff Member

    Joined:
    May 3, 2009
    Location:
    Boston
    #6
    tbh, windows does out perform OSX in gaming and if those benchmarks are based on game engines then that could also help explain matters.

    Personally I'm happy with what I get with my MBP, but then I don't game. If cutting edge speed is required for game playing the Mac may not be the best tool.

    I'm not making excuses for Apple, but stating a fact that games and gaming performance was never a priority for them
     
  7. heyadrian macrumors member

    Joined:
    Aug 14, 2011
    #7
    Apple don't develop the drivers themselves, they are proprietary drivers made my their respective manufacturers.

    Because OSX ML is in DP, it's probably a beta driver running a 'frankenstein' driver which is literally made up of different parts pulled in from different projects (driver releases) and quickly bundled together.

    All the manufacturers are interested in during the developer preview stage is that all of the correct developer API's are available. Performance isn't an issue until it goes to 'gold master'. This is when the 'tweaking and tailoring' is done.

    A good example is the pesky HP utility that was swelling up some serious memory during the Lion and ML developer preview stages.

    That was all resolved within weeks of it going live :)

    In general, OpenGL and DirectX have different uses, some are better than others on both sides, so it's hard to run a 'one benchmark' on them both and use that as a baseline figure.

    http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D#Direct3D

    Is an interesting read :)

    But yet, in terms of 'gaming' windows is a gaming environment and intended to be one too. The full flexibility of Windows allows for that. That same full flexibility also allowed for 99% of the web's evil scripts to shoot holes through it and turn it into a horrible infested sees pit :D

    *edit* Just to add, OSX doesn't have 'user land tweaking tools' like CCC for Windows. There are ways to tweak the various settings, but they can lead to some interesting crashes :D I erpsonally would like to see a user 'friendly' CCC... As per ATI/AMD's site:

    It would be better of course if they were accelerating the drivers and not the 'process' LOL
     
  8. Cougarcat macrumors 604

    Joined:
    Sep 19, 2003
    #8
    OpenGL support in windows has never been good, though, and it's rarely used for games.
     
  9. jeanlain, Aug 27, 2013
    Last edited: Aug 27, 2013

    jeanlain macrumors 65816

    Joined:
    Mar 14, 2009
    #9
    Note that the DX8 score in the link you quoted is only marginally better.
    In fact, on the same GPU as that used by Netkas, other people get much better results and Maverick closes the gap with Windows at the Heaven benchmark. There appears to be something wrong with netkas' test.
     
  10. Michael Goff macrumors G3

    Michael Goff

    Joined:
    Jul 5, 2012
    #10
    Is that why the Intel HD 4000 had support for OpenGL 4.1 in January of this year on the Windows side? >_>
     
  11. leman macrumors 604

    Joined:
    Oct 14, 2008
    #11
    Wrong, Apple has lots of say in the development of the GPU drivers. The exported extensions are completely different. If the drivers were Nvidia etc. developed, they would just port their FreeBSD drivers, which would be much less hassle for them. Would give us higher performance as well.

    You know this does not make any sense, right? :confused:

    Again, wrong. GPU driver is but one subsystem. The performance won't change substantially in the remaining time. Its not like Mavericks is a completely new OS, its just an incremental update. OS X drivers have always been significantly slower then Windows ones.

    Total nonsense. They are mostly feature equivalent as of now, and both are general-use 3D APIs. I have no idea why Heaven would have different performance for GL and DX11, my guess is that they are using different rendering techniques.

    Again, this does not make any sense. Windows is not a gaming environment. There are simply many more games existing on Windows (for historic reasons), which is a market that drives sales of GPUs and the reason why GPU vendors optimise the hell out of their drivers. It is very difficult to reach the Windows level of performance (because of the said optimisations), but it should't be a big problem getting at least within 90-95% of it.

    ----------

    What is bad about OpenGL support in Windows, aside from the annoying WGL API? :confused: The reason why OpenGL is rarely used for games nowadays is because Microsoft provides a vastly better documentation, support, SDK and developer tools for DirectX while OpenGL missed its chance due to the indecisiveness of ARB/Kronos Group. Its politics, as usual.
     
  12. heyadrian macrumors member

    Joined:
    Aug 14, 2011
    #12
    Now that you're done with your p*ssing contest, I got most of that information from various sources on the web... not sucked out of my own thumb... If you like to troll, bugger off and go elsewhere...
     
  13. leman macrumors 604

    Joined:
    Oct 14, 2008
    #13
    Right, because if somebody disagrees with your opinion, they must surely be trolling :rolleyes: FYI, I have been programming 3D graphics with OpenGL for years. Sure, I am out of that game right now so I am getting a bit rusty, but I do remember one or two things. You are very welcome to discuss my comments in an objective fashion. Getting emotional without any apparent reason will only get you a warning from the mods ;)
     
  14. JordanNZ macrumors 6502a

    Joined:
    Apr 29, 2004
    Location:
    Auckland, New Zealand
    #14
    You have to remember there is more than one part to the OSX graphics stack. The backend GPU drivers, which actually talk to the hardware are written by Nvidia/AMD etc. The front end part of the graphics subsystem is written by Apple.

    For instance, if you want to join Nvidia on their driver team. Here's a couple of open job positions.

    http://careers.nvidia.com/pljb/nvidia/nvidiaemployment/applicant/jobClick.jsp?count=1&id=7578
    http://careers.nvidia.com/pljb/nvidia/nvidiaemployment/applicant/jobClick.jsp?count=1&id=8927
     
  15. Krevnik macrumors 68040

    Krevnik

    Joined:
    Sep 8, 2003
    #15
    FreeBSD doesn't use the same kernel as Darwin, and the style of architecture is different. You can't take a BSD kernel module and just recompile it for XNU, seeing as XNU uses IOKit for it's driver subsystem, which is unique to it.

    The drivers are just one aspect in the picture of performance. The graphics stack on top of the drivers, and how they are used by applications also factor in. A good path through one graphics stack could be a bad path through a different graphics stack. So if Apple optimizes their graphics stack primarily for one use (3D accelerated desktop), they are likely ignoring, or even potentially sabotaging 3D games which need different "happy paths" through the graphics stack.

    And seeing as many games use DirectX, and then are ported to OGL for the Mac... it's not terribly surprising that you drop performance as you have code written towards the DirectX happy paths.

    Not saying that Apple's graphics stack doesn't need improvement, but focusing on the drivers is a gross oversimplification of the problem.
     
  16. leman macrumors 604

    Joined:
    Oct 14, 2008
    #16
    Both of you guys are right of course. @Krevnik: what I meant is that probably porting the Linux/FreeBSD driver would be easier then porting the Windows driver. What puzzles me about this whole OS X GPU driver business is that the OpenGL version and extensions exposed are completely different from what Nvidia/AMD etc. have on other platforms. This must mean that the driver is also a different project (but why would they do it?). I know that Nvidia has standalone drivers for Quadros, does it export any other extensions?


    This is why it would be very interesting to know how the driver interfaces with the OpenGL framework. You might very well be right that the framework itself introduces an additional level of inefficiency...
     
  17. Krevnik macrumors 68040

    Krevnik

    Joined:
    Sep 8, 2003
    #17
    The APIs for drivers for all 3 platforms are totally different. OS X doesn't use a BSD kernel, just the BSD userland. So porting between the two is not really any different from porting between OS X and Windows when talking about the kernel. The best you can do is have a shared core and a different "personality" bolted on for each platform to talk to the APIs.

    It's fair to say that Windows does give the user mode driver an awful lot of control. And it does lead to some interesting things, but it also leads to some wacky hacks that the driver writers use to fix perf issues behind the backs of some games...

    http://fgiesen.wordpress.com/2011/07/01/a-trip-through-the-graphics-pipeline-2011-part-1/

    However, while my experience with Apple's driver stack is pretty out of date (I was poking around with the graphics drivers subsystem back in 10.1 to be fair), Apple forces a somewhat cleaner separation between OGL and the drivers. Apple owns the OGL section, and the APIs that drivers have to adhere to in order to integrate their OGL user mode bundle, and so on. They also seem to take over a bit more of the stack than traditionally done on Windows as part of this.

    On Windows though, Microsoft doesn't really care about OGL, and both AMD and nVidia write their own OGL stack. Top to bottom. D3D is a bit closer to Apple's OGL model, where Microsoft owns the upper layers of D3D while the driver writers plug into it. Although I believe Apple owns more of their OGL stack than Microsoft does of their D3D stack. Hard to say without doing a bit of reverse engineering... but what I can tell from the exported symbols from AMD's GLD plugins, it's a lot less than what I expect.

    https://developer.apple.com/library...ual/OpenGL-MacProgGuide/OpenGLProg_MacOSX.pdf

    Whenever you add a layer, you have the opportunity for optimizations, and for bad perf. That's always true. D3D and OGL both have this particular issue. And with so much sitting on top of OGL with OS X (all of WindowServer for example), there's opportunities for tuning going on that won't help games in the slightest.
     

Share This Page