![]() But as things stand, if I was chained to a computer and told to port a game engine to run on Metal, I'd probably gnaw off whatever limb was attached to the chain. Had they stayed in Vulkan and worked with the community to create native Vulkan-to-Metal bridge, I guarantee there would be a lot more games running native on OSX. It's wonderful, and everyone loves it, and that what happens when Apple takes a more open approach to a project. And yes, Apple could absolutely have made this better for everyone by staying in more committees and sharing more documentation. Writing code for Apple devices, beyond the absolute basics, is all kinds of not a fun experience. Or dig through Darwin sources and hope you can figure it out. ![]() But if you're working for a game studio out in Bellevue or Austin, and you don't just happen to know someone from Apple, you're SoL, and you got to hope that somebody on Stack Overflow managed to track this particular problem down at some point. I live in the Valley, so I know a lot of current and former Apple engineers and in some of the worst cases I was able to just reach out and ask, "what is that supposed to be?" and they'd be able to get me something from internal docs that really should have been public docs. Not to mention the simple test cases passed because, of course, they had shorter file names.Īnd this is kind of a theme throughout. Identical code ran flawlessly on several flavors of *nix, and all of the documentation said that OSX implementation is supposed to be identical. I've had a misfortune of having to implement memory sharing between processes on an OSX machine, and absolutely nothing tells you that the file mapping path rules are different for OSX, greatly restricting maximum file name length, and the error you get is a generic "access violation," with absolutely no clarification of what went wrong. ![]() Not only that, but often enough the documentation just assumes that you'll be using *nix documentation, despite the fact that there can be substantial differences in implementation. And Apple doesn't tell you what you should be looking for. They are similar enough to code for, but the optimizations required are different.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |