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
InputCommon:QuartzKB&M: Use KVO to watch window position #10979
Conversation
b95e30d
to
55828fa
Compare
Source/Core/InputCommon/ControllerInterface/Quartz/QuartzKeyboardAndMouse.h
Outdated
Show resolved
Hide resolved
CGWindowListCreateDescriptionFromArray would block for up to ~1ms, which isn't a great thing to do on the main emulation thread
55828fa
to
588c4bd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
|
Nice! Please merge. |
|
Skyward Sword DC 85 → 105 fps on i9 9980HK + Radeon Pro 5600M |
|
I almost wrote that this PR fixed the horrible frame pacing on Intel Macs, then I remember I didn't test Dolphin since updating to Ventura RC and tested the a version before this PR. Actually It was Ventura that fixed the frame pacing issue, I guess there are some nice improvements to Metal and AMD drivers, now Dolphin it's smooth as butter even on Intel Macs! Anyway, a big thanks for all the Ubershaders and latest improvements that made this stutter free experience possible on Macs too! |
In that case, I wouldn't be surprised if you test #11028 and run with Side note: Does fast forward still work on Ventura? |
|
Fast forward works on Ventura. |
CGWindowListCreateDescriptionFromArraywould send a request to WindowServer and block until it got a response. This had two issues:Changes QuartzKeyboardAndMouse to use a KVO observer on the window to update a position variable under a mutex.
Also modifies QuartzKeyboardAndMouse to calculate mouse coordinates relative to the main view, rather than the entire window (which includes the window's titlebar).