Live data from Hacker News

Vulkan1.3 on the M1 in one month

rosenzweig.io

231–240 of 372 posts

Re: Vulkan1.3 on the M1 in one month

#231
post #7
post #4

Earlier quoted context omitted.

There will be a small bit of irony if the gaming experience on Asahi ends up easier and more straightforward than MacOS. Really just drives home how big of a mistake it was ignoring Vulkan for the past decade on Apple's behalf, but lord knows they won't admit that until it's too late.

Vulkan would likely not really have helped macOS gaming in any form. I consider it a red herring that people point to. The number of games that run natively on Vulkan is negligible. The number of games that run on Metal by comparison (natively) is orders of magnitude higher. If we're ONLY talking about the ability to use Proton, Apple does now have Game Porting Toolkit that does effectively the same thing with compar…

>The number of games that run natively on Vulkan is negligible

Firstly, several games engines and rendering libraries support it.

Secondly, it does not have to be _native_, on top of Vulkan you can run OpenGL and Direct3D emulation layers, which will cover most of the rest. macOS has long since abandoned their native OpenGL drivers, and MoltenVK has many caveats.

Re: Vulkan1.3 on the M1 in one month

#232

Earlier quoted context omitted.

Coverage. Metal only covers Apple. Vulkan covers so much more. But money talks and game engines want a slice of that sweet apple pie.

> Metal only covers Apple. Vulkan covers so much more. I'm not sure "more" is the right term here. There are about 1.3 billion iPhone users worldwide. Sure, Vulkan covers more OS environments, but how important is that to a game developer vs. total available users? Does Vulkan user reach exceed 1.3 billion?

OS coverage vs pure numbers is something for the game developer to be worried about, and by extension the game engine devs.

You want to get into the iOS gaming market, go Metal. By definition you've expressed you don't care about the other OS's.

You want to make a AAA game, you probably don't go Metal if you want enough market coverage to recoup your costs - though I will be delighted to be proven wrong when a AAA iPhone game comes.

If Apple want to change their "AAA game" attractiveness they need to address this. It's not that hard - the article took a month but even a year is fine. Apple just needs to get it done, but it doesn't seem like they care to make UserGameDev relationship easy. Either the gamedev needs a whole other version of their game on Metal. Or the users have to do a lot of homework and fiddling to get a modern AAA game to run.

I wonder if they have Vulkan internally and simply know their GPU won't look good in direct comparisons - which is fair; beating or even leveling with nVidia is hard. But if anyone can show AMD and Intel how to do it....

Re: Vulkan1.3 on the M1 in one month

#233

Earlier quoted context omitted.

Ultimately, the whole discussion surrounding technologies is discussing the consequences of the problems, not the problem itself. The problem is that Apple, since it decided it was going to make its own GPUs for all its devices, deemed it necessary to simplify their support. Apple's Metal API is custom-made to the silicon Apple is making, and Apple keeps Metal development strictly focused on their hardware. Of course…

>Apple's Metal API is custom-made to the silicon Apple is making Do you have any examples of this? My guess is that the API, being higher level than vk/dx, is designed for ease of use by developers, not to expose hardware level details. In fact Vulkan would be more suitable for that as it is lower level. >the strength of iOS clearly helped them decide to move iOS game developers to the Mac What do you mean by this? A…

I don't really know if it counts as 'exposing hardware details,' and I may be wrong, but this could be an example of where in their API it does make more sense for Apple Metal being separate.

The example I am thinking of is with MTLBuffers and storage options. You have several different storage options for MTLBuffers that wouldn't necessarily make sense on non-apple hardware and especially non-apple silicon. Options that are not backwards compatible with intel macs. When I go to use MTKTextureLoader with the newTexture command, I can set in the options an MTKTextureLoader.Option.StorageMode as shared storage. On Apple silicon, this means that the it is a shared buffer by both the CPU and GPU since with the apple silicon architecture the came peice of memory can be accessed by both. There are a bunch of different storage options that may not apply to other configurations outside of the Apple silicon configurations.

Re: Vulkan1.3 on the M1 in one month

#234

Earlier quoted context omitted.

It feels unlikely. Much smaller companies (Broadcom, Qualcomm) have no trouble writing compliant Vulkan drivers (let alone singular people), so I find it hard to give Apple the pass here. Assuming good faith on their part, Vulkan should be available; or at least some kind of cross-platform API target. Otherwise people are just going to ignore Mac and keep focusing on DirectX, like the status quo. Vulkan is everyone's…

> the only feasible explanation is that Apple is hoping to somehow force developers into using Metal natively I'm told the problem is some legal spat between Apple and Khronos that has led to a "no Khronos standards anywhere at Apple" policy. I don't know the details beyond that.

Sigh, sadly that sounds in-character. Pour one out for the users that didn't get their feature because a C-suite needed to make a point with their temper-tantrum.

Re: Vulkan1.3 on the M1 in one month

#235

Earlier quoted context omitted.

They didn't have a technical reason to be that late, but they probably had a marketing reason -- and I don't mean "they made money by licensing Lightning." (They did, obviously, but I don't think it was raking in big bucks, at least not Apple standards.) When the iPhone switched to Lightning from the clunky 34-pin iPod connector, a whole lot of people got pissed off with Apple and stayed pissed off with them for year…

When Apple went up on stage and announced Lightning, they said "this is our connector for the next 10 years". 10 years later, almost on the dot, they replaced Lightning on the iPhone with USB-C. Doesn't seem weird at all to me.

It wouldn't be weird if they simply picked one side and stuck with it. They put USB-C on Mac, because obviously Lightning couldn't fill the role they wanted with Thunderbolt. And then they made iPhones Lightning because... they wanted to sell IP to cable manufacturers. And they made the Magic Trackpad/Keyboard accessories use Lightning because... why again? It's just USB, it probably takes more work to make a Lightning peripheral than a USB-C one.

The more you think about MFi and Lightning design patents the harder it is to believe that they were simply being honest and sticking to their word.

Re: Vulkan1.3 on the M1 in one month

#236
post #42

Earlier quoted context omitted.

> would impact Apple's dream of landing AAA games on Apple Silicon Apple's dream is not to have AAA games land on Apple Silicon - they can do this with Proton-like layer, like they did with GPTK. Apple's wet dream is to have AAA games land in the Apple App Store - not on Steam or Epic Game store. That is why the GPTK effort is only have assed (and the license prevents Valve integrating it into steam directly).

This is a bit of a tangential rant, so I apologize. But I recently tried to update Death Stranding, the flagship AAA game that Apple landed on macOS and in the App Store. The game itself is 77.5 GB; it had required a little over 150 GB to install. I shrugged that off at the time; they haven't figured out how to decompress on the fly, whatever. I had about 50GB free on my (1 TB M1 Max) machine at the time of the updat…

This is a problem even for macOS updates, ever since they moved to the sealed system volume in macOS 11. When you update macOS, it downloads the entire OS and installs it to a separate APFS snapshot. The infuriating thing about this is that the sealed system volume should actually make it easier to provide reliable delta updates, but instead they used it as an excuse to remove them.

And of course Apple's always treated app updates as "download entire new copy of app to separate container and relaunch", ever since day one of the iOS App Store. This too could be handled with APFS snapshots.

I really wish Apple - and the rest of the industry - would stop being so damned allergic to delta updates. It's infuriating knowing how much damned engineering effort, say, Google put into shipping deltas on Chrome, and then everyone else is "just download two copies of every app while you're updating them, bandwidth and storage is free if we don't pay for them".

Re: Vulkan1.3 on the M1 in one month

#237

Earlier quoted context omitted.

Interesting point of view that could also be the other way around, Vulkan support being a hidden tax for the love of open source and free software rather than something really useful the market needed on top of others APIs / GPU architectures / platforms, pushed by a subset / minority of developers more ideological than practical grounded developers who accept that competition of private standards will bring out the…

It feels unlikely. Much smaller companies (Broadcom, Qualcomm) have no trouble writing compliant Vulkan drivers (let alone singular people), so I find it hard to give Apple the pass here. Assuming good faith on their part, Vulkan should be available; or at least some kind of cross-platform API target. Otherwise people are just going to ignore Mac and keep focusing on DirectX, like the status quo. Vulkan is everyone's…

Metal allows Apple to squeeze that extra performance out of their devices. They have full control over, and can implement whatever they need to deliver Apple Vision Pro for example.

With Vulkan, they would have to wait for a committee to approve required changes, and still they could not probably optimize it to match their GPU an CPU hardware profiles in such an efficient way.

And not least at all, to optimize the developer experience and tools. Apple GPU debugging tools are probably the best tools you get for graphics development debugging, and you get that only on macOS.

IMO Metal is a nicer API than Vulkan. At the same time, you can ask, why should Microsoft get to keep DirectX, and not just write a Vulkan driver ?

Re: Vulkan1.3 on the M1 in one month

#238

Their shaders contain a peculiar construction: if (condition) { while (true) { } } condition is always false, but the compiler doesn’t know that. What is the purpose of this other than to be a poison pill for people writing compliant shader compilers?

The purpose of the construction could be to inform the compiler of the fact that the condition is always false, so as to enable the compiler optimizer more.

Take a look at these features in C++, LLVM or Rust if you're not familiar with the concept:

* https://en.cppreference.com/w/cpp/utility/unreachable

* https://en.cppreference.com/w/cpp/language/attributes/assume

* https://en.cppreference.com/w/cpp/memory/assume_aligned

* https://llvm.org/docs/LangRef.html#unreachable-instruction

* https://llvm.org/docs/LangRef.html#llvm-assume-intrinsic

* https://doc.rust-lang.org/std/hint/fn.unreachable_unchecked....

* https://doc.rust-lang.org/std/hint/fn.assert_unchecked.html

The infinite loop is effectively an unreachable instruction (reaching it is not allowed), and an unreachable instruction behind a branch effectively becomes an assume instruction.

Re: Vulkan1.3 on the M1 in one month

#239

Earlier quoted context omitted.

Coverage. Metal only covers Apple. Vulkan covers so much more. But money talks and game engines want a slice of that sweet apple pie.

> Metal only covers Apple. Vulkan covers so much more. I'm not sure "more" is the right term here. There are about 1.3 billion iPhone users worldwide. Sure, Vulkan covers more OS environments, but how important is that to a game developer vs. total available users? Does Vulkan user reach exceed 1.3 billion?

Surely there are more Android users than iPhone users worldwide, and if you target Android you target Vulkan.

Re: Vulkan1.3 on the M1 in one month

#240

Earlier quoted context omitted.

How many iphone users will pay 60 dollars for a game, like you can try and achieve on Steam or Switch? I feel like the iOS game market is pretty different.

More money is spent/made made on iOS gaming than on traditional PC gaming, even if the $60 up front model isn't something iOS users are willing to accept. I almost think they're right to tolerate mtx models btw. At least if games are f2p, companies aren't releasing them broken/unfinished.

Can't release unfinished/broken games, when what they're releasing are not games at all.
Post reply on HN