Rude awakening regarding Metal

  1. ‹ Older
  2. 4 months ago

    Christian S

    Mar 13 Pre-Release Testers, Xojo Pro, XDC Speakers Germany

    Why not use higher level framework like SceneKit?
    That's what we use for MBS Xojo Plugins for 3D Graphics now.

  3. Sam R

    Mar 13 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Beatrix W You know you should have tested this before development.

    Agreed; I let my frustration with Apple cloud my judgement. I was so miffed that they broke OpenGL in Mojave, I incorrectly assumed that as 10.11 supports Metal, all the machines it runs on also supports Metal.

    @Tim J make me wish that I could simply pull the plug on our macOS offerings.

    You, I and many macOS developers feel this way. The annual updates with a general lack of care have helped to eat away at Apple's "It just works" reputation. They do themselves no favors with their current hardware either.

    @Jeff T In smaller ways, Apple's changes generate issues for me with nearly every release.

    This is how a lot of developers feel, so much work, just to keep the app alive, which takes away time from being able to make the application a better product. It's infuriating.

    @Jeff T Maybe this is another early sign of moving to ARM.. remove OpenGL and they don't have to recode that bit?

    Technically they already have it for ARM, as it was also in iOS. However they've removed it from there also. My feelings on why Apple it removing so much stuff from the OS, is to reduce the workload for the engineers, so that they can reduce the amount of engineers and therefore save costs, and increase ROI.

    @ChristianSchmitz Why not use higher level framework like SceneKit?

    Because I am not using OpenGL/Metal for 3D scene rendering. I am using it/them as a rendering destination for Core Image, which gives incredible onscreen performance increases.

    For the time being, I've cobbled together a new canvas subclass that uses CALayers, when OpenGL is selected it creates an CAOpenGLLayer and when Metal is selected it creates a CAMetalLayer. If Metal is supported, it uses Metal, otherwise OpenGL. They're not directly compatible, so I've duct taped some bridge code so that can at least both draw. I've removed some functionality, I may add it back in the future, once I can figure out a solution for both.

    I've also reverted my kernels to use GLSL (as this works on both, for the time being) instead of MTSL.

    Hopefully today or tomorrow I can send this out for testing.

    Do you want to know something funny? Our much earlier apps; which are pure Xojo & Einhugur picture effects, compiled as 32-Bit CARBON applications (back last decade), still kinda work in Mojave (although not always). Yet an app I wrote last year, using Apple's image editing API stopped working when Mojave was released. Seems like the moral here is to avoid using Apple's fancy APIs!

  4. Ivan T

    Mar 13 Pre-Release Testers

    @Jeff T Instead of fixing it, or reverting the changes, and then just leaving it alone for people who want to use it, (while encouraging the use of Metal.)
    Thats the thing that gets me.. there is no need to take it away

    Thats just apple. That is their way

  5. Brian O

    Mar 14 Pre-Release Testers, Xojo Pro Calgary, AB

    I hope you didn't use any intel optimize threading or SIMD / MMX dependant calls.. like OpenCV...
    I hope you didn't user and nVidia optimized parallelism like CUDA...

    I hope you didn't think cross platform would live for very long....
    It's just time we developers said no to this...

    In the mean time.. what about Vulkan?

  6. Sam R

    Mar 14 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Brian O'Brien I hope you didn't think cross platform would live for very long....
    It's just time we developers said no to this...

    That's the painful irony here, as I didn't go x-plat with this project. I am just targeting the macOS, but with Apple's rabid rate of change (I swear some of it is simply for changes sake), it's becoming almost impossible to rely on using Apple API for more than a couple of versions of the macOS.

    @Brian OBrien In the mean time.. what about Vulkan?

    Sadly Vulkan isn't supported by Core Image. Although if I'm honest I do question how long Apple is going to support Core Image.

    It's apparent now that I cannot trust Apple to not break things in the future, and therefore I need to come up with a solution whereby I use as little of their stuff as possible, this would also help to open it up to becoming an x-plat application. Which I think is going to be more critical in future.

  7. Brian O

    Mar 14 Pre-Release Testers, Xojo Pro Calgary, AB
    Edited 4 months ago

    I'm going back to writing for MSDOS or Turbo DOS maybe even CPM.

  8. Philip C

    Mar 15 Pre-Release Testers, Xojo Pro Cooroy, QLD, Australia
    Edited 4 months ago

    You could go back even further and write for Tandy TRSDos or Z80 assembler!

  9. Brian O

    Mar 16 Pre-Release Testers, Xojo Pro Calgary, AB

    @Philip C You could go back even further and write for Tandy TRSDos or Z80 assembler!

    6502 and Z80!
    #ASM

    I learned assembler on this AIM 6502 at Mt. A.

    -image-

  10. Tim J

    Mar 16 Pre-Release Testers, Xojo Pro Dehydrating in AZ

    Forth FTW!

  11. Brian O

    Mar 16 Pre-Release Testers, Xojo Pro Calgary, AB
    Edited 4 months ago

    @Tim J Forth FTW!

    You're gonna pop my stack!
    Laboratory Microsytems Inc Forth. (Ray Duncan) Anyone remember him?!
    http://www.forth.org/Definitions/V1N2.pdf

  12. Tim J

    Mar 16 Pre-Release Testers, Xojo Pro Dehydrating in AZ
    Edited 4 months ago

    I primarily used TurboForth for the TI-99/4A and JForth on the Amiga. Forth was so much more productive than TMS ASM. The TMS9900 was on par with the later Motorola 68000, but had far more extensible features - Need a new set of registers - create 'em. Too bad TI botched that chip. I'd love to see where that architecture ended up by modern standards.

  13. Brian O

    Mar 16 Pre-Release Testers, Xojo Pro Calgary, AB

    Forth was awesome. So was the amiga.. 68000 architecture.. Motorola. Big Endians.
    It's about time the industry had a bit of an upheaval..
    I feel like we haven't moved passed the 386, all we have now are cores of these older processors.
    Anybody remember Occam and Transputers?

  14. Markus W

    Mar 16 Pre-Release Testers #JeSuisHuman New Zealand, Auc...

    Guys, don’t hijack the thread - open your own “my hardware and me are older than you and yours” thread …

  15. 5 weeks ago

    Ed K

    Jun 10 Pre-Release Testers, Xojo Pro Kansas City

    Anyone know of a reference to information for what specifically in OpenGL broke in Mojave?

  16. Norman P

    Jun 10 Pre-Release Testers, Xojo Pro www.great-white-software.com/b...
    Edited 5 weeks ago

    Maybe ?
    https://forums.developer.apple.com/thread/113096

    the rest are just "we're getting rid of opengl and opencl so move to metal"
    https://developer.apple.com/documentation/macos_release_notes/macos_mojave_10_14_release_notes

  17. Sam R

    Jun 10 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Ed K Anyone know of a reference to information for what specifically in OpenGL broke in Mojave?

    For me what broke was the locations, so only content from the bottom left corner would be displayed, but stretched over the entire canvas. It was fixed in one point release, only to be broken again in another. Rule of the thumb: As it's deprecated engineering are not going to dedicate time to fixing bugs.

    The long and the short of it is that OpenGL is finished on the Mac, even if you work around the bugs today, there could me more tomorrow, and at some point the entire OpenGL library will be removed.

  18. Markus W

    Jun 10 Pre-Release Testers #JeSuisHuman New Zealand, Auc...

    Probably a very dumb question, but is it possible to bring in your own library / plugin?

  19. Sam R

    Jun 10 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Markus W Probably a very dumb question, but is it possible to bring in your own library / plugin?

    Do you mean like to use your own OpenGL plugin/library in your application.

  20. Markus W

    Jun 11 Pre-Release Testers #JeSuisHuman New Zealand, Auc...

    @Sam R Do you mean like to use your own OpenGL plugin/library in your application.

    Yes.

or Sign Up to reply!