Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

gto55

macrumors 6502a
Original poster
Mar 14, 2010
650
0
Tel Aviv
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

Win8 OGL

Win9 DX11

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.
 
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
 
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
 
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:

Q4: Will the ATI Catalyst™ Control Center be supported on Linux or Mac platforms?
A4:
ATI is actively investigating supporting the ATI Catalyst™ Control Center on Linux and Mac platforms. There are some technical challenges that we are addressing to accelerate this process.

It would be better of course if they were accelerating the drivers and not the 'process' LOL
 
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.
 
Last edited:
Apple don't develop the drivers themselves, they are proprietary drivers made my their respective manufacturers.

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.

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.

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

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.

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.

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.

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.

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

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.

----------

OpenGL support in windows has never been good, though, and it's rarely used for games.

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.
 
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.

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...
 
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...

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 ;)
 
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 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
 
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.

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.

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.

<snip>

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.

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.
 
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

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.

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?


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.

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...
 
@Krevnik: what I meant is that probably porting the Linux/FreeBSD driver would be easier then porting the Windows driver.

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.

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?

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

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...

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.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.