Jump to content


OS X Graphics API's: OpenGL vs Metal vs Vulkan

OS X Metal API OpenGL Vulkan DirectX Performance

  • Please log in to reply
124 replies to this topic

#61 jeannot

jeannot

    Notorious

  • Members
  • PipPipPip
  • 221 posts

Posted 22 February 2016 - 05:13 AM

View Postmacdude22, on 21 February 2016 - 06:54 PM, said:

Ok so I downloaded these benchmarks and forced the HD4000 and 650M on my 2012MBP. I'll list the Open GL numbers first and Metal Numbers second

Intel HD4000

Manhattan 1450 (23.39 fps) / 4261 (68.73 fps)
T-Rex 1887 (33.7 fps) / 6418 (114.62 fps)

Nvidia 650M

Manhattan 1637 (26.4 fps) / 4377 (70.59 fps)
T-rex 2799 (49.98 fps) / 6389 (114 fps)

It is interesting that under Metal the 4000 and 650M are neck and neck on T-Rex (impressive?) but under OpenGL the 650 bests the 4000 by a significant margin. Also the 650M OpenGL numbers are regaldamdissapointing all-around.

Is this indicative of how bad the Nvidia drivers are for OS X? I mean I would expect more than a 3fps gain with the 650M over the 4000 on the Manhattan test.

Not sure this whets my appetite for some actual Metal supported games.
Your results with the HD4000 are suspicious. I get worse results with my HD6000 @1440*900 (Metal), and I highly suspect that the test is GPU-limited in my case.

#62 Janichsan

Janichsan

    Jugger Bugger

  • Forum Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 8075 posts
  • Steam Name:Janichsan
  • Location:over there

Posted 22 February 2016 - 07:08 AM

View Postmacdude22, on 21 February 2016 - 06:54 PM, said:

It is interesting that under Metal the 4000 and 650M are neck and neck on T-Rex (impressive?) but under OpenGL the 650 bests the 4000 by a significant margin. Also the 650M OpenGL numbers are regaldamdissapointing all-around.

Is this indicative of how bad the Nvidia drivers are for OS X? I mean I would expect more than a 3fps gain with the 650M over the 4000 on the Manhattan test.
Well, the 650M is the lowest end Nvidia GPU supported with Metal. Judging from results in the Macrumors thread and and GFXbench browser, it seems that more modern GPUs profit more from Metal.

View Postjeannot, on 22 February 2016 - 05:13 AM, said:

Your results with the HD4000 are suspicious. I get worse results with my HD6000 @1440*900 (Metal), and I highly suspect that the test is GPU-limited in my case.
Keep in mind that the actual performance of the Intel IGPs is directly dependent on the CPU they are built in. The 1.5 GHz i5 in your MBA is significantly slower than the i7 in macdude's MBP. That might play a role despite the two generations between the IGPs. That said, I also would have expected a larger difference between the Intel 4000HD and the Nvidia 650M…

"We do what we must, because we can."
"Gaming on a Mac is like women on the internet." — "Highly common and totally awesome?"


#63 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2029 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 22 February 2016 - 07:44 AM

I thought the numbers were a little suspect too but I am not tell a lie. Pure speculation but I think we can make some inference that Metal may be more highly optimized for supported Intel Cards than Nvidia.

One thing seems sure, if there is some real developer uptake in Metal we should have decent performance across the board with the current spread of Intel IGPs

Posted Image
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#64 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2029 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 22 February 2016 - 07:52 AM

View PostJanichsan, on 22 February 2016 - 07:08 AM, said:

That said, I also would have expected a larger difference between the Intel 4000HD and the Nvidia 650M…

This 650M has always seemed a turd under OS X. Between this 650M and the 680 I had in my MacPro for a while (its in a PC right now) I have garnered the opinion that Nvidia support on OS X is really bad. There are games (under OS X) that run better with the 4870 than the 680!. I don't know if it's crappy OpenGL, poor developer optimization, Apple's popsnizzlety drivers (though the web drivers never made much of a difference).
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#65 Sneaky Snake

Sneaky Snake

    Official Mascot of the 1988 Winter Olympics

  • IMG Writers
  • 3299 posts
  • Steam Name:SneakySnake
  • Steam ID:sneaky_snake
  • Location:Waterloo, Canada

Posted 22 February 2016 - 09:46 AM

You could probably trade someone the 680 for the 7950. I know it's technically a slight downgrade, but if the driver support is better you might get superior performance.
2015 13" rMBP: i5 5257U @ 2.7 GHz || Intel Iris 6100 || 8 GB LPDDR3 1866 || 256 GB SSD || macOS Sierra
Gaming Build: R5 1600 @ 3.9 GHz || Asus GTX 1070 8 GB || 16 GB DDR4 3000 || 960 Evo NVMe, 1 TB FireCuda || Win10 Pro
Other: Dell OptiPlex 3040 as VMware host || QNAP TS-228 NAS || iPhone 6S 64GB

#66 jeannot

jeannot

    Notorious

  • Members
  • PipPipPip
  • 221 posts

Posted 22 February 2016 - 11:54 AM

View Postmacdude22, on 22 February 2016 - 07:44 AM, said:

One thing seems sure, if there is some real developer uptake in Metal we should have decent performance across the board with the current spread of Intel IGPs
It's the opposite on my MBA (HD 6000). OpenGL performs better in the offscreen tests (onscreen, it is limited by V-Sync)
I didn't mean to imply you were lying BTW. It could be that the intel GPU was not actually the one being used by Metal. You get the exact same performance between the HD4000 and the 650M with the T. rex test. And at the same time, the jump in performance on the HD4000 from openGL to Metal in this test is way too high.
Do the GPU-switch tools actually work as intended with Metal apps?

#67 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2029 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 22 February 2016 - 03:35 PM

I'm making an assumption that gfxCardStatus is switching the graphics used correctly but the benchmark tool reports the correct tool when I force the graphics.

I.e. if i force 650M it reports 650M if I force 4000 it reports the 4000. If i leave it to the system it reports 650M. I have no reason do doubt it. Perhaps Janichsan is correct that the base CPU has more influence than widely believed.
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#68 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2029 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 22 February 2016 - 04:42 PM

View PostSneaky Snake, on 22 February 2016 - 09:46 AM, said:

You could probably trade someone the 680 for the 7950. I know it's technically a slight downgrade, but if the driver support is better you might get superior performance.

It's installed in the ol PC, going to good use for wandows games. She's got a few years left in her. The 4870 does more than fine for anything but modern gaming.
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#69 ozzy

ozzy

    Heroic

  • Members
  • PipPipPipPip
  • 426 posts
  • Steam Name:ozzy
  • Location:London, UK

Posted 22 February 2016 - 09:51 PM

I also got some rather interesting results.  Seems like something is seriously screwed up or not working with the 650M under Metal. Judging by the results below Metal makes a huge difference with the integrated HD 4000, and basically brings it almost on par with the 650M.  But the 650M performs worse with metal than with OpenGL.

This is on my 2012 Retina MBP 2.6Ghz i7 with 8GB RAM, Intel HD 4000, and Nvidia 650M 1GB and the latest NVidia web drivers.  Next step would be to I guess test without the Nvidia web drivers - but I'm tired now :)

I'll list them OpenGL/Metal

Integrated HD 4000:
Manhattan 3.1 Onscreen: N/A / 14.98
Manhattan 3.1 Offscreen: N/A / 52.41
Manhattan Onscreen: 8.51 / 22.31
Manhattan Offscreen: 27.05 / 68.87
T-Rex Onscreen: 21.18 / 49.72
T-Rex Offscreen: 53.04 / 127.21

Nvidia 650M:
Manhattan 3.1 Onscreen: N/A / 15.48
Manhattan 3.1 Offscreen: N/A / 51.89
Manhattan Onscreen: 23.91 / 22.70
Manhattan Offscreen: 56.09 / 67.95
T-Rex Onscreen: 49.19 / 44.82
T-Rex Offscreen: 153.1 / 125.62

#70 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2029 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 23 February 2016 - 07:37 AM

I ran the Manhattan/Trex benchmarks on my work air this morning.

Mid 2013 1.3ghz i5 w/ HD5000

OpenGL / Metal

Manhattan 29.785 / 43.919
T-Rex 55.012 / 77.2348
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#71 Sneaky Snake

Sneaky Snake

    Official Mascot of the 1988 Winter Olympics

  • IMG Writers
  • 3299 posts
  • Steam Name:SneakySnake
  • Steam ID:sneaky_snake
  • Location:Waterloo, Canada

Posted 23 February 2016 - 08:13 AM

So it looks like we can conclude that Metal brings big performance increases for Intel integrated GPUs?
2015 13" rMBP: i5 5257U @ 2.7 GHz || Intel Iris 6100 || 8 GB LPDDR3 1866 || 256 GB SSD || macOS Sierra
Gaming Build: R5 1600 @ 3.9 GHz || Asus GTX 1070 8 GB || 16 GB DDR4 3000 || 960 Evo NVMe, 1 TB FireCuda || Win10 Pro
Other: Dell OptiPlex 3040 as VMware host || QNAP TS-228 NAS || iPhone 6S 64GB

#72 jeannot

jeannot

    Notorious

  • Members
  • PipPipPip
  • 221 posts

Posted 23 February 2016 - 11:18 AM

View PostSneaky Snake, on 23 February 2016 - 08:13 AM, said:

So it looks like we can conclude that Metal brings big performance increases for Intel integrated GPUs?
Not for me, it's the opposite on the intel HD6000. Here are my results, Metal - openGL (fps) for OFFSCREEN tests:
Manhattan: 24.7 - 30.5
T-Rex: 73.7 - 85.7
ALU 2: 74.5 - 77.6
Driver overhead 2: 56.8 - 51.8
Texturing: 4992 - 5144 (Mtexels)
Given that that I get better results onscreen (as expected, since the offscreen tests run at 1080p and I have a MacBook air), this shows that the offscreen results are limited by the screen resolution, hence GPU speed. Which should be even truer for the HD4000. And the HD4000 supposedly outperforms the HD6000 (68 fps vs 30 on the Manhattan offscreen test!), which makes no sense. This, combined with the astounding difference between Metal and openGL results on the HD4000, and the fact that Metal performance is similar to what the geforce 650M does, makes me highly suspect that it is the dedicated GPU that is actuall performing the Metal tests on those dual-GPU MacBook Pros.
Finally, on weak GPUs like the intel HD 4000, performance is clearly GPU-bound so Metal shouldn't help at all.

View Postmacdude22, on 23 February 2016 - 07:37 AM, said:

I ran the Manhattan/Trex benchmarks on my work air this morning.
​Another reason to discard onscreen tests is the impossibility to compare results between Macs that have different screen resolutions.

Mid 2013 1.3ghz i5 w/ HD5000

OpenGL / Metal

Manhattan 29.785 / 43.919
T-Rex 55.012 / 77.2348

29 fps in openGL = V-Sync is in effect. I bet openGL performs better than Metal on the offscreen tests.
Another reasons to discard onscreen tests is the impossibility to compare between Macs with different screen resolutions.

#73 Sneaky Snake

Sneaky Snake

    Official Mascot of the 1988 Winter Olympics

  • IMG Writers
  • 3299 posts
  • Steam Name:SneakySnake
  • Steam ID:sneaky_snake
  • Location:Waterloo, Canada

Posted 23 February 2016 - 11:29 AM

View Postjeannot, on 23 February 2016 - 11:18 AM, said:

Finally, on weak GPUs like the intel HD 4000, performance is clearly GPU-bound so Metal shouldn't help at all.

It's very possible to increase GPU performance via an updated API, drivers, etc. in GPU limited applications. The results aren't conclusive yet, but if Metal (or any API for that matter, such as Vulkan) was able to have less GPU overhead and/or have a more efficient instruction set then GPU performance should increase.
2015 13" rMBP: i5 5257U @ 2.7 GHz || Intel Iris 6100 || 8 GB LPDDR3 1866 || 256 GB SSD || macOS Sierra
Gaming Build: R5 1600 @ 3.9 GHz || Asus GTX 1070 8 GB || 16 GB DDR4 3000 || 960 Evo NVMe, 1 TB FireCuda || Win10 Pro
Other: Dell OptiPlex 3040 as VMware host || QNAP TS-228 NAS || iPhone 6S 64GB

#74 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2029 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 23 February 2016 - 11:33 AM

Is vsync disabled on the Metal GFXBench test? I don't understand why one test would be vsync limited but others aren't. Is just a bug in the benchmark? I have been running onscreen tests because there is no off screen option in the Metal test. This seemed to me to be the best way to benchmark performance for the same test With Metal and OpenGL on the same machine with the same screen resolution.

Let me run the off screen tests when I get home and see what it spits out.

I really don't think that the 650M is doing the computation when the system is forced to the HD4000. The system reports the integrated card in use, the benchmark reports the integrated card in use, firing up a game like elite dangerous reports the integrated card in use.

***EDIT***

Derp, Just didn't see the offscreen because its inline instead of across from in the metal test. Thanks obama.
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#75 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2029 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 23 February 2016 - 12:03 PM

1.3ghz i5 Air HD5000

1080p offscreen OpenGL / Metal

Manhattan 32.456 fps / 30.2206 fps
T-rex 76.45 fps / 57.255 fps

Onscreen Native 1440 x 900 OpenGL / Metal

Manhattan 29.78fps /44.23 fps
T-rex 55.031fps / 76.99 fps

It seems at the native resolution on this MBA, which I would be gaming at. Metal should provide a somewhat significant boost. It seems that performance gains are resolution dependent.

Is there a reason to think v-sync is capping the fps on some tests but not others? i.e. the onscreen Manhattan OpenGL test has some evidence of this but the Metal testing at 44fps doesn't seem indicative of this. The 1440x900 metal onscreen test exceeds the sync rate of this monitor. Is the suggestion the OpenGL onscreen test is v-sync enabled but the metal test is not?
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#76 jeannot

jeannot

    Notorious

  • Members
  • PipPipPip
  • 221 posts

Posted 23 February 2016 - 01:59 PM

For me there's a bug in the openGL version. V-Sync should be disabled, but it's not.
You won't find an onscreen test that exceeds 60 fps.

#77 macdude22

macdude22

    Like, totally awesome.

  • Forum Moderators
  • PipPipPipPipPipPip
  • 2029 posts
  • Steam Name:Rakden
  • Location:Iowa
  • Pro Member:Yes

Posted 23 February 2016 - 02:15 PM

View Postjeannot, on 23 February 2016 - 01:59 PM, said:

For me there's a bug in the openGL version. V-Sync should be disabled, but it's not.
You won't find an onscreen test that exceeds 60 fps.

Posted Image
IMG Discord Server | http://raptr.com/rakden | http://www.trueachie....com/Rakden.htm
Enterprise (MacPro 3,1): 8 Xeon Cores @ 2.8 GHz || 14 GB RAM || Radeon 4870 || 480GB Crucial M500 + 2TB WD Black (Fusion Drive) || 144hz Asus Mon
Defiant (MacBookPro 9,1): Core i7 @ 2.3ghz || 8GB RAM || nVidia GT 650M 512MB || 512GB Toshiba SSD

#78 Gotrek

Gotrek

    Fan

  • Members
  • Pip
  • 30 posts
  • Location:Nova Scotia

Posted 23 February 2016 - 11:41 PM

Late 2013 Mac Pro 3.7 GHz , 16GB, 2 x AMD FirePro D300 2048 MB


1080p                 offscreen OpenGL / Metal                  Onscreen 1920 X1080 OpenGL / Metal  
Manhattan   141.26 fps / 221.953 fps 59.482 fps /  119.93 fps
T-rex    377.51 fps / 400.346 fps 59.89 fps / 119.285 fps

#79 DirtyHarry50

DirtyHarry50

    Special Snowflake

  • Members
  • PipPipPipPipPipPip
  • 1515 posts
  • Steam Name:DirtyHarry
  • Steam ID:dirtyharry2
  • Location:North Carolina, USA

Posted 24 February 2016 - 03:03 AM

Late-2013 27" iMac i5 3.4 GHz, 8 GB, Nvidia 775M 2 GB

1080p Offscreen OpenGL / Metal

Manhattan  137.6 FPS / 184.6
T-Rex   452.8 FPS / 361.2

The above tests were run in succession with the Nvidia web driver installed which for an iMac is still a beta driver last I knew. I do have the most current version of the web driver as it prompts me whenever there is a new one and I install it then. Seeing these numbers I decided to run each test again and found the results to be nearly identical as posted above. So I decided to switch to the default OS X driver and reboot for another round of testing. I gave the system 10 minutes to settle before I began and verified it was idle. Below are the results of running the same tests using the default OS X driver for the Nvidia 775M:

Manhattan   134.8 / 192.3
T-Rex           447.9 / 432.8

On a bright note, Metal on OS X is new so I would hope to see substantial improvement over time. For now, I find the results on this system at least to be pretty underwhelming but apparently it will depend a good deal on what features a given game uses so I guess we'll see how it plays out when we get some real world examples in the form of games into our hands. Unfortunately though, I don't know how we'll be able to really quantify what we see at the point, such as when the WoW expansion releases. I can already max that at 1440p with OpenGL.
“The time you enjoy wasting is not wasted time.” — Bertrand Russell

#80 stroehman

stroehman

    Fanatic

  • Members
  • PipPip
  • 108 posts
  • Location:Luverne, MN

Posted 24 February 2016 - 08:56 AM

View PostGotrek, on 23 February 2016 - 11:41 PM, said:

Late 2013 Mac Pro 3.7 GHz , 16GB, 2 x AMD FirePro D300 2048 MB


1080p offscreen OpenGL / Metal   Onscreen 1920 X1080 OpenGL / Metal  
Manhattan   141.26 fps / 221.953 fps 59.482 fps /  119.93 fps
T-rex    377.51 fps / 400.346 fps 59.89 fps / 119.285 fps

Think this benchmark tool need some work. The D700 should blow past the D300

Mac Pro 6,1 Quad 3.7 GHz
Mac OS 10.11.3
12 GB ram
D700
1080P

OFFSCREEN

Test Name (value): Metal / OpenGL
Manhattan 3.1 (fps): 173.366 / --
Manhattan (fps): 248.875 / 157.07
T-Rex (fps): 393.955/ 369
ALU2 (fps): 565.235 / 523.65
Driver Overhead2 (fps): 178.768/ 45.408
Texturing (MTexel/s): 68894 / 67652
aka hackintosh





Also tagged with one or more of these keywords: OS X, Metal, API, OpenGL, Vulkan, DirectX, Performance