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

Potential Performance/Design Issue #47

Open
nmder opened this issue Apr 17, 2024 · 12 comments
Open

Potential Performance/Design Issue #47

nmder opened this issue Apr 17, 2024 · 12 comments

Comments

@nmder
Copy link

nmder commented Apr 17, 2024

Hello there,

Thanks for the very nice work!!

One thing that I noticed though is the energy consumption of your app increases as I move my mouse. It seems that the app is always tracking the mouse cursor. Perhaps, It would be better to start tracing when the keybindings are activated.

I might be wrong though. Not a swift expert by any means.

Thanks again!!

@pablopunk
Copy link
Owner

Hey @nmder! Thanks for opening the issue. Can you let me know how you notice that?

The app is actually only tracking the mouse whenever you press a shortcut. Look at this video of Xcode's builtin energy benchmark. Impact is always ZERO until I resize/move the window (which makes it LOW)

CleanShot.2024-04-18.at.11.28.05.compressed.mp4

@nmder
Copy link
Author

nmder commented Apr 18, 2024

Hi @pablopunk,
Thanks for replying!
I noticed it at the activity monitor.
I can have another look soon and share my findings in a video, as you did.

@nmder
Copy link
Author

nmder commented Apr 18, 2024

Hi @pablopunk

Please check the video below. Actually, I initially couldn't reproduce it. However, then I rapidly moved a window by holding the keys. Thereafter, I could see the spike in the video without holding the keys.

Hope this helps!

Thanks!

swift.mp4

@pablopunk
Copy link
Owner

@nmder sorry, I tried the same with Activity Monitor and I still get the same behavior as in Xcode. What modifiers are you using as a shortcut? I must be missing something

@nmder
Copy link
Author

nmder commented Apr 28, 2024

Hi @pablopunk

I was using left cmd as a modifier to move windows. Cmd + ctrl for resizing.

Thanks!!

@danini-the-panini
Copy link
Contributor

There is definitely something going on re: performance. It seems to get worse the longer the app runs. Moving and resizing windows (even natively) was very slow. I restarted Swift Shift and the problem went away :/

@pablopunk
Copy link
Owner

@danini-the-panini that's odd cause I basically never turn off my computer and Swift Shift is always open, without any performance issues. Can you see anything in Activity Monitor?

@danini-the-panini
Copy link
Contributor

I tried and it didn't show up when I sorted by CPU usage :/

@danini-the-panini
Copy link
Contributor

danini-the-panini commented Jul 8, 2024

I have a sneaky suspicious it's perhaps leaking some sort of window observers, that might be why window resize/move (even natively) is lagging? but other functions (e.g. typing/scrolling on slack) is fine

also, are you on M1 or Intel?

@pablopunk
Copy link
Owner

M1

@danini-the-panini
Copy link
Contributor

I'm also on apple silicon. Oh and forgot to mention I'm running Sonoma 14.5. Seems very inconsistent, generally happens after a wake from sleep, but not always. 😔

@dereineolli
Copy link

Hi!
I'm facing also some strange performance issues on my M3/16GB running Sonoma 14.6.1 with latest release 0.25.1. When the app is running for a long time and I start to use screen sharing (in my case in the gather app), my mouse gets stuck and jumps block by block instead of moving smooth. When I restart the app, the mouse behaves normally again (screen share still on). Unfortunately, I don't know how long it takes for the mouse to get stuck again (because I don't share my screen every day 😉).
Has anyone else experienced this problem?
Best regards, Olli

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

4 participants