[GH-ISSUE #168] Redrawing when minimized #122

Open
opened 2026-02-28 14:30:47 +03:00 by kerem · 6 comments
Owner

Originally created by @CptPotato on GitHub (Sep 6, 2021).
Original GitHub issue: https://github.com/jpochyla/psst/issues/168

I recently saw that psst has noticable GPU usage when minimized. Taking a look with RenderDoc shows that, even if minimized, psst draws new frames while the UI is being updated (when playing for example).

Edit: OS is Win10 x64

Originally created by @CptPotato on GitHub (Sep 6, 2021). Original GitHub issue: https://github.com/jpochyla/psst/issues/168 I recently saw that psst has noticable GPU usage when minimized. Taking a look with RenderDoc shows that, even if minimized, psst draws new frames while the UI is being updated (when playing for example). *Edit: OS is Win10 x64*
Author
Owner

@CptPotato commented on GitHub (Sep 6, 2021):

After updating it seems that psst only refreshes the UI once every second when idle / during playback now. This reduces the background GPU usage to practically zero for me, so this might not be very relevant anymore.

<!-- gh-comment-id:913757701 --> @CptPotato commented on GitHub (Sep 6, 2021): After updating it seems that psst only refreshes the UI once every second when idle / during playback now. This reduces the background GPU usage to practically zero for me, so this might not be very relevant anymore.
Author
Owner

@jpochyla commented on GitHub (Sep 14, 2021):

I'd be still interested in any CPU/GPU optimizations, so if you'd be interested to work on this anyway, we could pause the rendering when the window is hidden.

<!-- gh-comment-id:919271133 --> @jpochyla commented on GitHub (Sep 14, 2021): I'd be still interested in any CPU/GPU optimizations, so if you'd be interested to work on this anyway, we could pause the rendering when the window is hidden.
Author
Owner

@mottosso commented on GitHub (Nov 29, 2024):

I'm experiencing this as well with the latest release, also on Windows 10, seeing 3% utilisation of a RTX 3090 when minimized, same when maximised and about 30-40% when scrolling. I don't mind utilisation when in use, but my main reason for moving from the native Spotify UI was high CPU usage during idle and my GPU draws a lot more power.

<!-- gh-comment-id:2508188987 --> @mottosso commented on GitHub (Nov 29, 2024): I'm experiencing this as well with the latest release, also on Windows 10, seeing 3% utilisation of a RTX 3090 when minimized, same when maximised and about 30-40% when scrolling. I don't mind utilisation when in use, but my main reason for moving from the native Spotify UI was high CPU usage during idle and my GPU draws a lot more power.
Author
Owner

@CptPotato commented on GitHub (Dec 3, 2024):

I'm experiencing this as well with the latest release, also on Windows 10, seeing 3% utilisation of a RTX 3090 when minimized, same when maximised and about 30-40% when scrolling.

Keep in mind that Windows doesn't take the GPU's pstate/clock into account when calculating the utilization percentage, so it's a bad indicator for how high the utilization or power draw is compared to the GPU's maximum.

You can get a better idea by querying the driver, for example:
nvidia-smi --query-gpu pstate,clocks.gr,clocks.sm,clocks.mem,power.draw --format=csv

<!-- gh-comment-id:2513732543 --> @CptPotato commented on GitHub (Dec 3, 2024): > I'm experiencing this as well with the latest release, also on Windows 10, seeing 3% utilisation of a RTX 3090 when minimized, same when maximised and about 30-40% when scrolling. Keep in mind that Windows doesn't take the GPU's pstate/clock into account when calculating the utilization percentage, so it's a bad indicator for how high the utilization or power draw is compared to the GPU's maximum. You can get a better idea by querying the driver, for example: `nvidia-smi --query-gpu pstate,clocks.gr,clocks.sm,clocks.mem,power.draw --format=csv`
Author
Owner

@mottosso commented on GitHub (Dec 3, 2024):

Thanks, didn't know this command existed on Windows. Still seeing similar percentages though.

# Scrolling
P5, 465 MHz, 465 MHz, 810 MHz, 39.68 W, 38 %

# Idle
P8, 210 MHz, 210 MHz, 405 MHz, 29.70 W, 12 %

That said, the idle doesn't change when closing psst, so that can safely be ignored and considered baseline. Utilisation whilst manipulating the UI is something I'd expect and not a problem.

Here's the PowerShell command I used to monitor whilst interaction with psst.

 while ($true) {
     nvidia-smi.exe --query-gpu pstate,clocks.gr,clocks.sm,clocks.mem,power.draw,utilization.gpu --format=csv
     Start-Sleep -Milliseconds 100
 }
<!-- gh-comment-id:2513752790 --> @mottosso commented on GitHub (Dec 3, 2024): Thanks, didn't know this command existed on Windows. Still seeing similar percentages though. ```bash # Scrolling P5, 465 MHz, 465 MHz, 810 MHz, 39.68 W, 38 % # Idle P8, 210 MHz, 210 MHz, 405 MHz, 29.70 W, 12 % ``` That said, the idle doesn't change when closing psst, so that can safely be ignored and considered baseline. Utilisation whilst manipulating the UI is something I'd expect and not a problem. Here's the PowerShell command I used to monitor whilst interaction with psst. ```pwsh while ($true) { nvidia-smi.exe --query-gpu pstate,clocks.gr,clocks.sm,clocks.mem,power.draw,utilization.gpu --format=csv Start-Sleep -Milliseconds 100 } ```
Author
Owner

@jacksongoode commented on GitHub (Dec 3, 2024):

This would definitely be an upstream issue to see if druid (or maybe piet) can handle https://github.com/linebender/druid

<!-- gh-comment-id:2515325013 --> @jacksongoode commented on GitHub (Dec 3, 2024): This would definitely be an upstream issue to see if druid (or maybe piet) can handle https://github.com/linebender/druid
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/psst#122
No description provided.