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

marksatt

macrumors regular
Jun 26, 2013
230
236
Yes, and because gaming is not a top priority at Apple, drivers may ship with issues that greatly affects performance. Currently, 10.13.2 reduces performance in DIRT rally if MSAA is on, so the game on Windows can be 120% faster than the Mac version (!) at 8X MSAA. It's only 20% faster without MSAA.

Is that actually a regression though? MSAA support in Metal is one of the less tested areas of the stack and I’ve seen it be far slower than D3D. This is one of the features where hiding the details in the driver actually helps as the GPU vendors have all sorts of hardware tricks to make MSAA more efficient - they aren’t as easily expressed in Metal.

OTOH, Metal should have lower driver overhead than DX11, right?

Yes, but if you are GPU bound then that isn’t much help. Metal is not as GPU efficient as D3D - especially in terms of shader code generation and MSAA mentioned above.
 

casperes1996

macrumors 604
Jan 26, 2014
7,434
5,578
Horsens, Denmark
Please tell me how! I have used optical in the past and am currently using Sound Blaster Omni from USB to receiver. Not possible to get DD 5.1 from games on Mac as I don't believe there is an encoder on macOS.
Been discussed for years and yet no one seems to do anything about it. Unless..... you know something I don't. (He says hoping!)


Don't know about the optical cable and that, but using Display Port it's been pretty much plug and play, with speaker configuration in System Preferences.
I'd assume you could also pass the AC3 signal from the optical port to a reciever or something? The software needs to send the AC3 signal though, and not handle it internally.
 

jeanlain

macrumors 68020
Mar 14, 2009
2,430
933
Is that actually a regression though? MSAA support in Metal is one of the less tested areas of the stack and I’ve seen it be far slower than D3D.
It is indeed far slower than D3D under 10.3.1, but it's even worse under 10.3.2. It suppose this kind of optimisation is the responsibility of GPU vendors rather than Apple?

[doublepost=1513265246][/doublepost]
Yes, but if you are GPU bound then that isn’t much help. Metal is not as GPU efficient as D3D - especially in terms of shader code generation and MSAA mentioned above.
Strangely, the difference in performance between OSes in Hitman decreases as resolution increases, to become non-existent at 4K. So for that title, Metal appears to be more GPU-efficient than it is CPU-efficient.
 
  • Like
Reactions: MrUNIMOG

marksatt

macrumors regular
Jun 26, 2013
230
236
It is indeed far slower than D3D under 10.3.1, but it's even worse under 10.3.2. It suppose this kind of optimisation is the responsibility of GPU vendors rather than Apple?

[doublepost=1513265246][/doublepost]
Strangely, the difference in performance between OSes in Hitman decreases as resolution increases, to become non-existent at 4K. So for that title, Metal appears to be more GPU-efficient than it is CPU-efficient.

Yeah I’d expect MSAA performance and correctness to be on the GPU vendors.

Your Hitman performance numbers suggest that it converges on the same bottleneck as resolution increases, but at lower resolutions Metal is clearly more GPU constrained than D3D. There’s so many different paths through a modern GPU that getting the optimal shader code and GPU behaviour is hard and is why even DX12 is sometimes slower than DX11 where this work has been done.
 
  • Like
Reactions: jeanlain

jeanlain

macrumors 68020
Mar 14, 2009
2,430
933
I thought the test results of Deus Ex on Windows would be saved to disk, like they are on macOS, but apparently they are not. :confused: Strange. So I can't post precise ratios, but form the numbers I do remember, Metal is ~85-87% as fast as DX11 on my Mac. This is consistent across resolutions, at medium or high settings. I tested with recent crimson drivers on Windows 10 fall creator.

Another awesome port by Feral. Business as usual. ;)
 
Last edited:

wubsylol

macrumors 6502
Nov 6, 2014
381
391
Is there a way to limit DXMD to 30fps? I can handle 25-30fps fluctuations, but 25 to 60ish (with the majority being around 35-40) is a bit much
 

imacken

macrumors 65816
Original poster
Feb 28, 2010
1,232
127
Don't know about the optical cable and that, but using Display Port it's been pretty much plug and play, with speaker configuration in System Preferences.
I'd assume you could also pass the AC3 signal from the optical port to a reciever or something? The software needs to send the AC3 signal though, and not handle it internally.
As I said, I am using Sound Blaster Omni now to receiver, but you will not get 5.1 sound in games on Mac as there is no decoder like Dolby Live on Windows.
The only way you’ll hear 5.1 on Mac is when you play a DVD.
[doublepost=1513370025][/doublepost]
I thought the test results of Deus Ex on Windows would be saved to disk, like they are on macOS, but apparently they are not. :confused: Strange. So I can't post precise ratios, but form the numbers I do remember, Metal is ~85-87% as fast as DX11 on my Mac. This is consistent across resolutions, at medium or high settings. I tested with recent crimson drivers on Windows 10 fall creator.

Another awesome port by Feral. Business as usual. ;)
I know we have different iMacs, but as seen from results in F1 2017, Dirt Rally, Hitman and DEMD, my results are more like 70-75% across all res.
 

jeanlain

macrumors 68020
Mar 14, 2009
2,430
933
I know we have different iMacs, but as seen from results in F1 2017, Dirt Rally, Hitman and DEMD, my results are more like 70-75% across all res.
That probably means drivers for the Polaris GPUs (or at leas the radeon 580) work better than the M395X drivers with these Metal games. Or that Polaris DX11 drivers work less well, but this is unlikely to me.

Interestingly, Feral games use OpenGL for the "frame swap" on certain Macs to avoid juddering issues that still affect Metal.
So on High Sierra, a Feral game would use Metal for rendering, OpenGL for the frame swap, and then Metal would be used by the Window server for the display. :confused: I wonder how much this workaround affects performance.
But conveniently, this allows disabling V-Sync.
 
  • Like
Reactions: MrUNIMOG

cube

Suspended
May 10, 2004
17,011
4,972
Out of curiosity: have you also made some DX11 benchmarks under Windows? DX12 is apparently still not consistently faster.
Because with low level APIs, the low level optimization responsibility shifts from the driver developers to the application developers.
 

imacken

macrumors 65816
Original poster
Feb 28, 2010
1,232
127
That probably means drivers for the Polaris GPUs (or at leas the radeon 580) work better than the M395X drivers with these Metal games. Or that Polaris DX11 drivers work less well, but this is unlikely to me.

Interestingly, Feral games use OpenGL for the "frame swap" on certain Macs to avoid juddering issues that still affect Metal.
So on High Sierra, a Feral game would use Metal for rendering, OpenGL for the frame swap, and then Metal would be used by the Window server for the display. :confused: I wonder how much this workaround affects performance.
But conveniently, this allows disabling V-Sync.
Interesting. Unfortunately, I always get screen tearing on Mac when I disable v-sync. In contrast to Windows when I can get over 100fps in DCS, for example, without any issue at all.
 

jeanlain

macrumors 68020
Mar 14, 2009
2,430
933
It is expected to have screen tearing without V-Sync. If you don't, it means that V-Sync is on.
 

imacken

macrumors 65816
Original poster
Feb 28, 2010
1,232
127
It is expected to have screen tearing without V-Sync. If you don't, it means that V-Sync is on.
I know what you mean, but it doesn’t always seem to be the case in Windows. Obviously it is off when getting 100+ FPS on a 60Hz monitor.
 

jeanlain

macrumors 68020
Mar 14, 2009
2,430
933
Some frames may be rendered but never displayed, depending on the type of V-Sync used (triple buffering). I believe some fps counters can still record these frames. This is the case for (full) Metal games, which can generate up to 120 fps even though frame swapping is synced with refresh rate.
 

casperes1996

macrumors 604
Jan 26, 2014
7,434
5,578
Horsens, Denmark
As I said, I am using Sound Blaster Omni now to receiver, but you will not get 5.1 sound in games on Mac as there is no decoder like Dolby Live on Windows.
The only way you’ll hear 5.1 on Mac is when you play a DVD.

What exactly is the purpose of such a decoder then, if you can clearly get 5.1, either with DVDs or apps like Final Cut Pro X?
 

marksatt

macrumors regular
Jun 26, 2013
230
236
What exactly is the purpose of such a decoder then, if you can clearly get 5.1, either with DVDs or apps like Final Cut Pro X?

Dolby’s compression format requires a decoder and Dolby charge a license fee per application that uses it. Apple paid that fee for their DVD Player and other specific apps that required it.

Most games actually output 5.1 uncompressed audio, so you need a USB sound card and a speaker setup plugged in the old fashioned way. I don’t know about DXMD specifically though.
 

imacken

macrumors 65816
Original poster
Feb 28, 2010
1,232
127
As I said, I am using Sound Blaster Omni now to receiver, but you will not get 5.1 sound in games on Mac as there is no decoder like Dolby Live on Windows.
The only way you’ll hear 5.1 on Mac is when you play a DVD.
Ok, so I was completely wrong about this. All the advice I’d been given in the past was wrong.
Some of what was said here made me think, so rather than use an optical cable, I connected speakers from the sound card to direct input on my receiver, and, everything worked perfectly!
Surround sound in DEMD and other games - at last after all these years.
Now, if only Eagle Dynamics would release DCS for Mac, I might never have to go to Boot amp again!
 

marksatt

macrumors regular
Jun 26, 2013
230
236
I know what you mean, but it doesn’t always seem to be the case in Windows. Obviously it is off when getting 100+ FPS on a 60Hz monitor.

If it is triple buffered you would need to be going 180fps to see tearing. OpenGL on Mac is double buffered.
Ok, so I was completely wrong about this. All the advice I’d been given in the past was wrong.
Some of what was said here made me think, so rather than use an optical cable, I connected speakers from the sound card to direct input on my receiver, and, everything worked perfectly!
Surround sound in DEMD and other games - at last after all these years.
Now, if only Eagle Dynamics would release DCS for Mac, I might never have to go to Boot amp again!

If you use an optical cable then the game's uncompressed 5.1 audio has to be compressed into Dolby's format as a single optical cable only carries stereo uncompressed. That's another license fee to Dolby and a performance hit in-game if done in software ;)
 

jeanlain

macrumors 68020
Mar 14, 2009
2,430
933
OpenGL on Mac is double buffered.
I thought it depended on the GPU vendor. I've consistently seen my nVidia GPUs generate either 60fps or 30fps with nothing in between in V-Synced games, while my radeon cards can generate any stable framerate from 30 to 60.
 

casperes1996

macrumors 604
Jan 26, 2014
7,434
5,578
Horsens, Denmark
Ok, so I was completely wrong about this. All the advice I’d been given in the past was wrong.
Some of what was said here made me think, so rather than use an optical cable, I connected speakers from the sound card to direct input on my receiver, and, everything worked perfectly!
Surround sound in DEMD and other games - at last after all these years.
Now, if only Eagle Dynamics would release DCS for Mac, I might never have to go to Boot amp again!


Glad you worked it out in the end :)
 

bist

macrumors newbie
Jun 13, 2013
21
11
If you use an optical cable then the game's uncompressed 5.1 audio has to be compressed into Dolby's format as a single optical cable only carries stereo uncompressed. That's another license fee to Dolby and a performance hit in-game if done in software ;)

I may be a bit late... like one year late, but SoundPusher works for that (In high Sierra) :
  • It adds a 6 channels virtual audio output
  • Encode the 6 channels
  • And send it through the optical connector
It's seen as a true 6 channels output by most applications and doesn't require much resources (I'm using it on an old 3.3GHz 2010 Mac Pro).

Releases are here : https://github.com/q-p/SoundPusher/releases
 
  • Like
Reactions: JordanNZ

marksatt

macrumors regular
Jun 26, 2013
230
236
I may be a bit late... like one year late, but SoundPusher works for that (In high Sierra) :
  • It adds a 6 channels virtual audio output
  • Encode the 6 channels
  • And send it through the optical connector
It's seen as a true 6 channels output by most applications and doesn't require much resources (I'm using it on an old 3.3GHz 2010 Mac Pro).

Releases are here : https://github.com/q-p/SoundPusher/releases

Clever stuff, thanks for pointing it out. That's exactly what you need if you desire 5.1 audio from a game using an optical cable.
 

imacken

macrumors 65816
Original poster
Feb 28, 2010
1,232
127
I may be a bit late... like one year late, but SoundPusher works for that (In high Sierra) :
  • It adds a 6 channels virtual audio output
  • Encode the 6 channels
  • And send it through the optical connector
It's seen as a true 6 channels output by most applications and doesn't require much resources (I'm using it on an old 3.3GHz 2010 Mac Pro).

Releases are here : https://github.com/q-p/SoundPusher/releases
Just tried this, and although it seems potentially great, I am getting short sound cut outs when playing Deus Ex:MD every few seconds. HS 10.13.2.
Is that normal?
 

bist

macrumors newbie
Jun 13, 2013
21
11
Just tried this, and although it seems potentially great, I am getting short sound cut outs when playing Deus Ex:MD every few seconds. HS 10.13.2.
Is that normal?
I don't think so.

I just tried with this particular game (I played it under Bootcamp before, because its performances in Mac OS are abysmal on my system) : I didn't notice any hiccup.

It may depend on :
  • The decoder : Most of the time, I'm using a 5.1 Sharkoon headphone. Other decoders may be less forgiving on bugs / small errors in the encoded data.
  • The computer : If the CPU is 100% loaded the 5.1 encoding may suffer ; Although that'll be strange, because your computer has more CPU power than mine and encoding is eating roughly 8% CPU time.
Does it cut with something like https://www2.iis.fraunhofer.de/AAC/ChID-BLITS-EBU.mp4 ? (Or any other lightweight 5.1 test) ?
 

imacken

macrumors 65816
Original poster
Feb 28, 2010
1,232
127
I don't think so.

I just tried with this particular game (I played it under Bootcamp before, because its performances in Mac OS are abysmal on my system) : I didn't notice any hiccup.

It may depend on :
  • The decoder : Most of the time, I'm using a 5.1 Sharkoon headphone. Other decoders may be less forgiving on bugs / small errors in the encoded data.
  • The computer : If the CPU is 100% loaded the 5.1 encoding may suffer ; Although that'll be strange, because your computer has more CPU power than mine and encoding is eating roughly 8% CPU time.
Does it cut with something like https://www2.iis.fraunhofer.de/AAC/ChID-BLITS-EBU.mp4 ? (Or any other lightweight 5.1 test) ?
I have no problem with this (or any other) game in bootcamp either. Nor do I have any issue with surround sound on Mac with direct speaker connection. This is purely limited to the SoundPusher app and optical connection. I also have no issues with stereo/DPL through the optical connection with our SoundPusher.
Purely relating to SoundPusher and Deus Ex MD. No problem with the test you linked to or playing music in iTunes.
I'll try another game and see if it happens there.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.