4 ms·
On the Mac it's worse: the drivers are not NVIDIA's (which are relatively high quality) but instead Apple's own and have become horrendously bad in the past few
by pcwalton 10y ago
On the Mac it's worse: the drivers are not NVIDIA's (which are relatively high quality) but instead Apple's own and have become horrendously bad in the past few years. I've lost count of the number of just plain broken functionality and hard system crashes I've had to deal with doing graphics programming with Apple drivers, including a random out of bounds memory read (security sensitive? who knows!) that was particularly fun.
As far as I can tell, Apple has set a new record for how quickly you can go from the best OpenGL drivers in the industry to the worst.
- outworlder 10y agoWell, this is likely due to the refocus on "Metal". Which is just DirectX _de novo_. It's not only bugs, it's the lack of features. It's out of date, to the point that companies are no longer releasing games. For instance, Frontier has an Elite: Dangerous version for the Mac. It doesn't have the expansions, due to the lack of compute shaders, which are not supported by Apple's crappy OpenGL implementation. Not that Macs are good gaming machines. But this only compounds the problem.
- pcwalton 10y ago> Which is just DirectX _de novo_. Except without the market share in high end gaming/graphics that made D3D viable. I wish they would realize that the people they're hurting with this decision are not their competitors (who are actually probably happy to see them underinvest in good GL drivers) but rather us developers, who do have to develop cross-platform apps for market share reasons and so end up shouldering the costs of needless fragmentation.
- crzwdjk 10y agoIt's actually some combination of Apple and NVIDIA drivers, but on OS X, unlike pretty much every other OS, Apple insists on owning the OpenGL entry points and doing a bunch of work in its own driver before calling down into the vendor driver's OpenGL entry points. The vendor driver then has to undo some of the "helpful" things that Apple did, and work around whatever bugs are in the Apple code. For NVIDIA, in particular, the OpenGL driver is pretty much the same between Windows and Linux, and so one shouldn't be much more broken than the other, at least when it comes to core OpenGL functionality. But the OS X driver can't take as much advantage of the common code because of the Apple code that it has to deal with.
- throwaway_____ 10y agoSorry, but this has been bothering me for a long time and I would like to address it here. The myth that Apple writes their own drivers for non-Apple GPUs is absolutely untrue, and I am amazed that it is so widespread when there is very little justification for it. Apple's involvement with the graphics stack is about the same amount as Microsoft's. They provide the common APIs and the OS support, but the hardware is the vendor's responsibility. There was precisely one moment in time when this was at least a third true: When Intel had subpar GPUs and offensively bad drivers. Since then, the work has transitioned back to Intel. Nvidia writes the drivers for the Nvidia GPUs. AMD writes the drivers for the AMD GPUs. Why are their drivers horrendously bad? Well, for Nvidia, Apple is such an increasingly small market that there is very little financial incentive for Nvidia to care. For AMD, there is slightly more of a reason to care because any market is a good market for them, and I speculate that this is a large part of the reason we've seen fewer and fewer Nvidia cards in Apple products: Apple can get AMD to care, but not Nvidia. When you only use non-Intel or non-Apple GPUs in a very tiny percentage of your products, it's hard to justify paying a ton of money out to incentivize a vendor to care. There is very little reason why AMD or Nvidia or even Intel would share enough details about their recent hardware with a company that is becoming increasingly self-sufficient. There are plenty of feedback loops at play here, and plenty enough reasons to see why non-Apple graphics drivers on Apple platforms would be poor. I can't for the life of me see why the assumption that Apple is writing these drivers would make sense.