Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification of a paragraph in the README #58

Open
cesss opened this issue Apr 29, 2021 · 5 comments
Open

Clarification of a paragraph in the README #58

cesss opened this issue Apr 29, 2021 · 5 comments

Comments

@cesss
Copy link

cesss commented Apr 29, 2021

Hi!

The README has a paragraph which I don't really understand 100%, and that I believe should be clarified. This one:

Note that MacOS X Mojave+ does not support Cocoa framework as expected. For that reason you can switch to Metal API. To enable it just compile defining the preprocessor macro USE_METAL_API.

Does this apply to building code, or to running old executables? I mean: will old applications run incorrectly in Mojave? Or maybe you meant that you'll face problems if you build Cocoa code with the Mojave SDK?

Basically, what I'd like to know is if there's any possibility of building without Metal in a way that will run correctly in Mojave and later.

Thanks!

@Darky-Lucera
Copy link
Collaborator

From Mojave Cocoa does not update the frames using setNeedsDisplay like older MacOs versions do. So it is better to use Metal for Mojave+ OSes

@cesss
Copy link
Author

cesss commented Apr 29, 2021

I don't know the details, but I'm pretty sure modern MacOS versions will issue some message or callback whenever a view needs to be redrawn. It seems they changed the setNeedsDisplay behaviour in Mojave, but I'm sure that's because they are doing the same through another message (otherwise Macs apps would have their windows with garbage pixels all the time). Moving to Metal just because of this looks overkill IMHO, no matter if Metal is available in all Macs nowadays. I mean, I don't like the idea of using a conditional build depending on the deployment target when there must be a code path that works for all versions...

@Darky-Lucera
Copy link
Collaborator

Maybe you could help us to find the issue.

@cesss
Copy link
Author

cesss commented Apr 30, 2021

Maybe I'd be able to do it, but my newest MacOS release for the moment is High Sierra: I'm very slow at updating because I like my Macs to boot at the same speed as when they were brand new. Maybe this year I'll be getting a new M1, but not 100% sure because it depends on many factors.

@Darky-Lucera
Copy link
Collaborator

Darky-Lucera commented May 1, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants