Vulkan set to enable higher framerates on Mac

Valve are celebrating a big step in their push to improve gaming on non-Windows PCs after sponsoring an open-source release of software which lets devs use the zippy Vulkan graphics API on Macs. I won’t get too technical but: the MoltenVK tool runs the Vulkan API through Apple’s own Metal framework, bypassing Apple’s OpenGL drivers of ill repute. What do these acronyms actually mean for players? Valve’s own testing has seen the Mac version of Dota 2 run at framerates up to one-third faster with Vulkan than OpenGL. Obviously gains are situational and it mean nothings if developers don’t use the API, but it seems a firm foundation to lay. Congrats, Maccers.

A highly technical analogy: while OpenGL lets games communicate with graphics cards like a couple at a dinner party passively-aggressively arguing through another guest all “Could you please tell me dearest wife that it would be fantastic, just wonderful, if she could find the time in her BUSY SCHEDULE to pass me the bowl of green pixels…”, Vulkan is a little more free and willing to grab the green pixels itself. Please do not tell our hardware editor Katharine that I explained something highly technical using scenes from a middle-class BBC sitcom.

Jeremy Laird took a deeper look at Vulkan in 2016 but tbh I imagine he basically says exactly the same as me. Yup.

“We have been running substantial production loads through the Vulkan tools on Mac, including Dota 2 which is now running faster than the native OpenGL version,” Valve’s Pierre-Loup Griffais said in yesterday’s announcement. “These efforts are aimed toward reducing development and porting costs for any developer supporting multiple platforms.”

How much of a difference does Vulkan make? It varies from system to system, a graph from Valve’s Dota 2 experiments shows, but it all seems to be positive. Valve also share a video with a really good scenario for Dota 2’s Mac Vulkan support, at times peaking at over 50% faster than the OpenGL version:

This isn’t public yet, mind. Valve say they’ll officially add Vulkan support to Dota 2 on Mac “in the comings months”.

MoltenVK isn’t new software but creators The Brenwill Workshop did charge for it (starting at $248 for a single-user license), so Valve sponsoring the open-source release will get it into the hands of many more developers. Valve have also sponsored an SDK from LunarG. This is all is done together with the Vulkan lords of the Khronos Group and also brings Vulkan to iOS devices but look, let’s stop with the acronyms and abbreviations here.

What’s important for players is: it may now be easier for devs to make games which run well on Mac (though let’s bear in mind ‘easier’ is not the same as ‘easy’). Vulkan still isn’t supported by many games even on Windows, though it does have big-name support from Doom and Rust and Star Citizen is switching over too. More platform support should lead to more game support.

14 Comments

  1. Catterbatter says:

    You got me. I would have been fine with Buck Rogers, Lost In Space… I was ready for that. But this one crosses the line.

  2. Premium User Badge

    johannsebastianbach says:

    Nice! Let my barrier “i can’t play as much as I would if I could because there are too few games for my Mac” deteriorate even more. I know I secretly want all games on Mac, so bring them on!

  3. RC-1290'Dreadnought' says:

    This is even bigger than just a performance boost, because this means it’s now viable to write a game using only vulkan on all major platforms, rather than having to either use one of the big engines, or supporting multiple graphics APIs.

    You still need to support the platform specific windowing system integration, but that’s minor, compared to the rest of your graphics engine. And shaders should ideally behave identically on each platform, because of SpirV, which is a big deal.

    I love your analogy, by the way. I was trying to think of ways in which it didn’t fit, and I mainly found ways in which it did.

    Oh, and while DOTA 2’s Vulkan support might not be public yet, for the two graphics programmers in your audience: the SDK IS public, which is awesome.

    • Janichsan says:

      This is even bigger than just a performance boost, because this means it’s now viable to write a game using only vulkan on all major platforms, rather than having to either use one of the big engines, or supporting multiple graphics APIs.

      If by “all major platforms” you mean Windows, Mac, Linux, and the Nintendo Switch, you are correct. The Xbox One and the PS4 unfortunately do not support Vulkan, and neither Microsoft nor Sony seem to have plans by to do so.

      And shaders should ideally behave identically on each platform, because of SpirV, which is a big deal.

      That remains to be seen, as MoltenVK requires a conversion of the SPIRV shaders to Metal shaders, either at runtime or beforehand.

      • RC-1290'Dreadnought' says:

        My bad, that shows how desktop focussed I am.

        Also, good point about the shaders, thanks for pointing that out :D.

  4. R. Totale says:

    But why did you use a picture of Han Skywalker?

    • Det. Bullock says:

      Han Skywalker?
      Give back your geek card, that’s Mal Atreides.

  5. OmNomNom says:

    best thing to improve framerates on a mac is a windows dual boot

    • ColonelFlanders says:

      Had a Mac Pro for years, and boot camp was toss. Yes it let you run Windows, and did it very well, but the weird video driver amalgamations with Apple’s own software, and the whole ballache of flashing video cards if you wanted something other than stock Apple choices, just made it not worth it if you’re a gamer. Macs were made to do lot of different things, and they do those things very well, but proper hassle free gaming is not one of those things. It might help things a bit if the Vulkan API is a success, but the hardware upgrade headache will always be the deciding factor for me.

      • OmNomNom says:

        At least these days people can buy a Dell notebook and get most of the good things about a mac (great hardware, screen, metal case, looks) but without the bad ones (shit OS, can’t run games, ecosystem)

        And if you’re really stuck in your filthy Mac OS ways you can easily dual boot (Hackintosh) or VMWare it. Performance is great.

        • star-affinity says:

          If I’m not wrong it’s possible to install the ”normal” graphics drivers in Bootcamp too. At least it works fine for me and I have on my Mac Pro from 2010 with a GTX 970 GPU. Didn’t use Bootcamp to install Windows 10, though.

          I’m also curios what @OmNomNom think is so bad with MacOS (”shit OS”)? I actually prefer it over Windows 10 overall for everything I do except gaming.

  6. Janichsan says:

    Closer scrutinisation of the Khronos’ group announcements and analyses from experienced Mac developers show unfortunately that these news aren’t as great as they seem: first of all, MoltenVK only supports a subset of Vulkan that is roughly equivalent to its mobile subset, which is more or less on the same level as the quite antique DirectX 9. That’s enough for Dota 2 (which in fact only requires DirectX 9 as a minimum), but that’s not sufficient for Doom 2016, for instance.

    Secondly, on top of that, there are a bunch of features that MoltenVK does not support, at least currently, such as geometry shaders and tesselation.

    Third and last, this solution with a translation layer will never be able to achieve as high as a performance as a truly native Vulkan implementation, and probably won’t even be as fast as using Metal directly.

  7. Darkmessage says:

    Hey Katharine Byrne,

    Alice O’Connor explained something highly technical using scenes from a middle-class BBC sitcom.

    Sincerely,

    A concerned citizen.

    P.S. Hahaha, that’s what you get for being fantastic, just wonderful, Alice!

  8. Railway Rifle says:

    A+ picture choice and metaphor, this is why I read RPS. And, you know, game news.