Last chance to test before 2.0.18 release!

We are about to declare 2.0.18 done, so this is your LAST CHANCE to mention bugs before we go live.

At this point we are only looking for showstopper bugs (this doesn’t build at all, this crashes on startup, this crashes during some extremely common operation without a reasonable workaround). We do want to hear about any bugs, but most things will wait for 2.0.20.

You can download a prerelease build here:

https://www.libsdl.org/tmp/download-2.0.php

Or pull the latest from git at GitHub - libsdl-org/SDL: Simple Directmedia Layer

Bugs in the 2.0.18 prerelease can be reported by filing a bug report or just replying here, in which case I’ll file a bug report on your behalf. :slight_smile:

Sorry if this is not the kind of thing you’re looking for now, or has been discussed before (couldn’t find anything on a Google search), but using Metal on MacOS uses 3 times more CPU than OpenGL and quickly sends the fan into a spinning frenzy.

(I was sticking to Open GL to prevent this, but the recent Monterey update broke v-sync - a sign of things to come regarding OpenGL, so I decided to just adopt Metal)

Thanks so much for all the hard work!

Did some quick tests w/ my projects. No issues found so far!

1 Like

Not changing anything about this for 2.0.18, but let’s talk about this…

With the 2D renderer, right?

One thing I’ve noticed is that Metal not only doesn’t sync to vsync, it doesn’t even send command buffers to the GPU if the window is minimized, which will make the CPU cook when it’s suddenly able to “render” thousands of frames per second. Or is there something else unrelated to that? Is there a build of the app seeing this problem I can try?

At least in my case vsync actually works fine using the Metal renderer, it’s only broken in OpenGL (not SDL’s fault, as far as I know). In my app and in previous tests it has always rendered at a locked 60fps. Despite that, it uses about 25% cpu for something that OpenGL does using 8%.

In Monterey I had to add some delay in the loop to make both renderers have the same frame rate, since OpenGL won’t sync, but I’ve noticed that behavior since the previous macos, which didn’t have the vsync issue. In BigSur, all I had to do was switch the renderer to Metal and the cpu use would go up at the exact same frame rate, with noticeable louder fan noise.

Current project is in Nim Lang, but I do have some basic C tests that exhibit the same behavior that I can send later when I get home from work.

Thanks! (And we can continue this topic in a new thread to not clutter this one if you wish)

EDIT: Yes, 2D renderer. And my app pauses and stops rendering (using a delay on every frame instead) when in BG, so I didn’t see the other issue you mentioned.

Feel free to PM me with the test app when you have time, and we’ll follow up that way.

And OF COURSE now that I made a minimal C example I can’t repro it anymore… in fact Metal is running faster (less CPU) than OpenGL… Will investigate. Ignore my post until I figure out what I’m doing wrong! :stuck_out_tongue:

1 Like

No worries, if it shows up again please let me know!