pablopunk / SwiftShift

Sweet window management for macOS
https://swiftshift.app
MIT License
270 stars 10 forks source link

Potential Performance/Design Issue #47

Open nmder opened 7 months ago

nmder commented 7 months ago

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 commented 7 months ago

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)

https://github.com/pablopunk/SwiftShift/assets/4324982/bb3e9572-6138-4b2c-baca-13628b67c028

nmder commented 7 months ago

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 commented 7 months ago

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!

https://github.com/pablopunk/SwiftShift/assets/25340239/32bf79c9-0a3e-4023-87e9-cd037fe597ac

pablopunk commented 6 months ago

@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 commented 6 months ago

Hi @pablopunk

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

Thanks!!

danini-the-panini commented 4 months ago

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 commented 4 months ago

@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 commented 4 months ago

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

danini-the-panini commented 4 months ago

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 commented 4 months ago

M1

danini-the-panini commented 4 months ago

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 commented 2 months ago

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