Jump to content

Devs can finally target Vulkan on MacOS / IOS, despite Apple's blocking

Humbug
4 hours ago, LAwLz said:

This is what you said:

The only way I can interpret this, is that you believe anything not made by Apple is "second-rate" and will not be as good as whatever Apple makes.

 

In reality, Vulcan and Metal will most likely perform similarly. The reason why Apple are not allowing Vulcan to run on their products is because they want to make it more difficult for developers to target multiple platforms.

It's the same thing as Microsoft only allowing DirectX for UWP. They aren't doing that because "they want to ensure the software is fully optimized for Windows". They do it to fuck with developers.

MoltenVK will add another layer, it won't be as good as metal unless Apple does allow native Vulkan on their machines. It is second rate performance, where first rate would be native Vulcan. 

We can't say if it will be similar until benchmarks come out because we don't have all the facts, however MoltenVK does add another layer which will impact performance to a degree. We don't know how much of course but I wouldn't jump to any conclusions.

Metal applications will be more optimised for MacOS because Metal is only for MacOS. If you are developing an application specifically for that operating system, you can bet that it will run the best on that same operating system. Apple ensures by keeping Metal for MacOS that applications won't simply be ported but developed for MacOS (Because they have to, I'm sure it isn't nice for the developers). 

Link to comment
Share on other sites

Link to post
Share on other sites

17 minutes ago, RorzNZ said:

Metal applications will be more optimised for MacOS because Metal is only for MacOS. If you are developing an application specifically for that operating system, you can bet that it will run the best on that same operating system. Apple ensures by keeping Metal for MacOS that applications won't simply be ported but developed for MacOS (Because they have to, I'm sure it isn't nice for the developers). 

I think you have a massive misunderstanding of how operating systems work. There's a reason why Nvidia and AMD are using a single code base between Windows/Linux/Mac. There's a reason why Chrome and Firefox both use OpenGL for hardware acceleration so they can share a common codebase between OSes.

 

There's no magical "it was designed for this OS so it just works better!". A lot of the codebase is straight up portable between different OSes. The only thing that changes is the system calls to your OS's kernel, and maybe some userspace stuff with different apps to call into. The hardware is the same. The vast majority of the drivers will be the same.

 

The whole reason this is such buttwipe is because there is no legitimate reason for this from a standpoint of code quality or stability, and the fact that this fud keeps spreading is a massive pain in the rear for any developers who make apps targeting multiple platforms.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Sniperfox47 said:

I think you have a massive misunderstanding of how operating systems work. There's a reason why Nvidia and AMD are using a single code base between Windows/Linux/Mac. There's a reason why Chrome and Firefox both use OpenGL for hardware acceleration so they can share a common codebase between OSes.

 

There's no magical "it was designed for this OS so it just works better!". A lot of the codebase is straight up portable between different OSes. The only thing that changes is the system calls to your OS's kernel, and maybe some userspace stuff with different apps to call into. The hardware is the same. The vast majority of the drivers will be the same.

 

The whole reason this is such buttwipe is because there is no legitimate reason for this from a standpoint of code quality or stability, and the fact that this fud keeps spreading is a massive pain in the rear for any developers who make apps targeting multiple platforms.

Probably thank you for explaining it. Guess I get a bit wrapped up in the marketing sometimes and so get a bit excited. Thank you. 

Link to comment
Share on other sites

Link to post
Share on other sites

To be honest for PC mac OSX Apple probably recognizes that having Vulkan would be a good thing for their platform. They only have a small market share on PC and amongst PC gamers. So they need help attracting devs.

 

However they have to remain consistent across all their platforms. And they absolutely do not want Vulkan on IOS mobile devices. Because google already heavily pushes Vulkan on Android. Apple doesn't want to make cross-platform app development easier, they want to differentiate IOS and keep devs focused on it. They don't want people writing more portable code. 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Humbug said:

Because google already heavily pushes Vulkan on Android.

Do they? I mean sure it's supported but how widespread is Vulkan? It seems to me that OpenGL remains the main API so far. And I mean that both for the system and applications. Unless I've missed something.

Link to comment
Share on other sites

Link to post
Share on other sites

30 minutes ago, Trixanity said:

Do they? I mean sure it's supported but how widespread is Vulkan? It seems to me that OpenGL remains the main API so far. And I mean that both for the system and applications. Unless I've missed something.

It's available on about 30% of devices (Nougat and up support it, and Nougat + Oreo is currently 29.6% on the dashboard).

 

That being said, the implementation in Nougat on all major devices had some serious bugs with it (why Vulkan wasn't made available for Google Daydream apps), so only about 1.1% of devices (Oreo) actually have a fully functional implimentation.

Link to comment
Share on other sites

Link to post
Share on other sites

37 minutes ago, Trixanity said:

Do they? I mean sure it's supported but how widespread is Vulkan? It seems to me that OpenGL remains the main API so far. And I mean that both for the system and applications. Unless I've missed something.

Google made a policy decision that in future Vulkan will be prioritized over openGL ES. But openGL ES is the most commonly used API today. Cause it takes time for all the tools, all the game engines, all the documentation, examples, developer know how etc to catch up. For most devs if something they know works they won't change it. Also people say that the Mobile vulkan drivers aren't as great as the Vulkan drivers on desktop by Nvidia and AMD.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Humbug said:

Google made a policy decision that in future Vulkan will be prioritized over openGL ES. But openGL ES is the most commonly used API today. Cause it takes time for all the tools, all the game engines, all the documentation, examples, developer know how etc to catch up. For most devs if something they know works they won't change it.

Also there's the fact that most game engines use OpenGL ES 2.0 since it targets 100% of Android. And iOS if you use Molten.

 

OpenGL ES 3.0 targets about 80% Android devices, and iOS if you use Molten, but has some pretty massive and annoying driver bugs in Mali and Adreno.

 

Vulkan is supported on a small fraction of Android devices, and is properly implimentation on a far more miniscule number of them.

 

If you were a dev trying to milk as many people as possible for microtransactions, which would you use?

Link to comment
Share on other sites

Link to post
Share on other sites

Guest
This topic is now closed to further replies.

×