4 ms·
Competition is great; metal is an afterthought. Vulkan is still unsupported; the OpenGL implementation is still out of date and buggy. If anything, Apple needs
by dgfgfdagasdfgfa 10y ago
Competition is great; metal is an afterthought. Vulkan is still unsupported; the OpenGL implementation is still out of date and buggy.
If anything, Apple needs competition with themselves. There's no route to a modern graphics API on macOS (or iOS for that matter).
- johncolanduoni 10y agoAn afterthought is pretty strong word. It has direct equivalents to most of Vulkan's concepts (resource heaps, command buffers and queues, etc.). It's definitely miles ahead of OpenGL on any platform. What Vulkan features do you think can't be added into Metal without effectively trashing the whole thing?
- throwaway91111 10y agoNo, you're correct, afterthought is not the word I want to use. Apples actions certainly show forethought and planning. I meant instead that the graphics support overall has felt like an afterthought: radar bugs open without meaningful response for months, outdated graphics hardware and drivers, no option for choice between brands when that means you can't run CUDA on "pro" computers, no support for vulkan (though I think there's an official mapping Vulkan into Metal that hasn't materialized yet)... the list gets tiring to read after 15 years of waiting for apple to actively support their software/hardware combos to their equivalent capacities on windows, let alone supporting recent hardware or novel apis. However, I can't help but seeing it modeled on the Direct X vendor lock-in model that starved Apple of games (and users because of those games). While it may not be a sign of change in Apple, it is a sign to me I shouldn't depend on them to provide products that meet my needs as a cross-platform developer. All those years I invested in a neglected OpenGL I should have devoted instead to directx; perhaps I would be less bitter now.
- pcwalton 10y agoFor what it's worth, during the development of Pathfinder, I have spent more time working around OpenGL driver bugs on Apple systems (at least 4 or 5) than any other system (zero).
- mixedCase 10y ago> It has direct equivalents to most of Vulkan's concepts (resource heaps, command buffers and queues, etc.) It isn't cross-platform, so it lacks the most important of all of Vulkan's features.
- valarauca1 10y agoVulcan is unsupported Where? Windows, Linux, Andriod, Intel, AMD, and Nvidia have rolled out support Apple is the only people who haven't because of Metal.
- Rusky 10y agoThat's the point.
- pjmlp 10y agoAndroid with Vulkan support means Android 7, currently available on 1.2% of worldwide devices, hardly a market worth spending resources on. Also it is an optional API, Android 7 compliant devices aren't required to actually provide it, apps are supposed to check it. Windows support is done by GPU vendors, not Microsoft and is only supported on Win32, not UWP applications. Sony doesn't plan to support Vulkan, PS* APIs are much better. Nintendo did introduce support for the Switch, but they are so confident on it, that they also have NVN, which offers much better control over the hardware.
- pcwalton 10y ago> PS* APIs are much better. > NVN, which offers much better control over the hardware. Can you cite specific reasons? Vulkan is about as low-level as you can go.
- pjmlp 10y agoThis is what I can show to you. https://blogs.nvidia.com/blog/2016/10/20/nintendo-switch/ https://blogs.nvidia.com/blog/2016/10/20/nintendo-switch/ "NVIDIA additionally created new gaming APIs to fully harness this performance. The newest API, NVN, was built specifically to bring lightweight, fast gaming to the masses." The rest is behind the SDKs NDA. https://developer.nintendo.com/ https://developer.nintendo.com/
- Rusky 10y agoI couldn't tell you how much impact this actually has, but Vulkan/D3D12/Metal have to be conservative with pipeline state changes, and have to manage the layout of various hardware data structures for you. They've gotten partway there with things like D3D12 descriptor heaps, but hardware-specific APIs just don't have those limitations.