Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

MacOS has been put on the back burner for Apple. It's all iPhone and iOS. It's clear that these scrappy hackers are going to fully utilize the hardware, clearly Apple doesn't care.

Off-topic: FreeBSD had an early version of Grand Central Dispatch ported to it, I wonder if Linux could benefit from that maybe with some io-uring goodness.



That ... really doesn't seem like the case. The macOS world has seen soo many big changes recently, with the complete visual overhaul of everything with Big Sur and then Ventura (whether you like that or not), the rewriting of a whole lot of applications and system stuff from AppKit to SwiftUI (again, whether you like that or not), porting the entire operating system to ARM, inventing an excellent x86_64 virtualization layer, overhauling everything related to booting and system upgrades (even if it's just taking what's already built for iOS and heavily modifying it to work for Macs), new window management features, etc etc. That's a lot of engineering resources invested.

The sorry state of Apple's OpenGL drivers is a part of their strategy. They're choosing to not invest in OpenGL, and have even officially deprecated it. They want you to use Metal instead.


Which is so bizarre to me. Metal isn’t cross platform and 3d is very much a cross platform technology. So then why footgun your OS for 3d?


> Metal isn’t cross platform and 3d is very much a cross platform technology.

It isn't.

Vulkan as an idea appeared a year after Metal was released.

And even today:

- Windows first-party support is DirectX

- Xbox is DirectX

- Playstation is whatever Playstation uses

- Switch has nominal Vulkan support, but you're better off using their non-Vulkan SDKs

- MacOS and iOS are Metal

- Android support Vulkan. Some versions of it, depends on phone, version, and manufacturer.

- WebGL is browser-only... and on its way to be replaced by WebGPU

Yeah. Great cross-platform story


I’m not sure what you’re on about. Vulakn’s story is about translating DX12 calls to Vulkan. That’s how it works on Linux and Linux gaming is so amazing because of it. I see Vulkan as the replacement for OpenGL and am excited for its future.

MacOS is a joke for gaming. iOS though of course is all metal. If you wanna target that platform then that’s all you got. But translating or porting to other platforms DX12 on Windows Vulkan is the answer.


It would make perfect sense if macOS was already the go-to platform for 3D apps and games. Third-party developers would then have to port to Metal in order to keep their customer base, and their OpenGL backend would be abandoned or at least a second-class citizen. That could be a competitive advantage for Apple.

But macOS is not the go-to platform for this sort of thing, especially when it comes to games. This does seem like a strategic mistake. Maybe they just don't care, for whatever reason. I mean, it doesn't seem like Metal has been catastrophic for Apple, has it?

Then again, OpenGL is probably still good enough on macOS for most 3D apps, deprecated or not. And if Apple does decide to actually remove it, I believe there are projects that implement the OpenGL API on top of Metal (certainly with performance impact). And third-party developers certainly have the option to wait to write a Metal backend only after Apple announces OpenGL is being dropped completely.


Yeah, there's ANGLE which implements OpenGL ES on top of Metal, and then there's MoltenVK which implements Vulkan on top of Metal, so you can get a program which uses the cross-platform APIs to run on macOS.

Maybe that's the whole strategy? To provide an API which exposes what's easy to do in a well-performing way on their hardware, and let the community worry about getting the standards to work? It certainly seems to be working, and it probably means they need to spend less resources on driver development than if they tried to stay current on OpenGL and Vulkan.


The same mistake done by game consoles?

All major AAA engines support Metal, even if the main target for them is iOS.


There are some historic reason why we end up with Apple, but additionally:

OpenGL is old, crufty and for modern standards sucks no matter how grate it once was. Most new 3D software doesn't use OpenGL, a lot of new software which does use OpenGL limits itself to OpenGL ES (which is roughly a subset of OpenGL).

Apple always had issues with a "Not Invented Here" syndrome and an obsession to control every little bit. Apple always pushed that software should be explicitly written for Apple, or if not at least with an Apple focus. New GUIs "should" be written with SwiftUI, etc.

For apple having a different API means they don't have spent time with standards outside of things they want to pus beyond their ecosystem, this means they can just further develop Metal however they want, ignoring inputs from everyone else. This can remove friction, but also will remove valuable feedback and profiting from other peoples innovation.

Lastly Vulcan, DirectX12 and Metal aren't too different hence why thinks like MoltenVK (Vulkan API/emulation on top of Metal) or VKD3D (DirectX12 API/emulation on top of Vulcan) exists. (Through no surprise all three have their own edge cases which does make such cross libraries non trivial, still they are quite viable and most important performant as they don't have to do much emulation and mostly can just map functionality.)


Metal is widely used for game development due to iOS. This means there are plenty of game developers familiar with it, and lots of tools such as porting tools and game engines like Unity that support it very well. The main problem has been that Metal did not support a lot of advanced features used by AAA desktop games. This changed last year with a huge update to the high end rendering features in desktop Metal, so Apple does seem serious about this. They’ve always been weak on game tech on the desktop though, so we’ll see.


Just like all game consoles have done?


Are you basing this on something or just personal opinion?

They literally just ported the whole platform to ARM which has had some great benefits for the whole OS + UX of using laptops.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: