Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_vis_vumeter (Read 276232 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_vis_vumeter

Reply #550
Hi, Thx for this component, is there any way to stop the component/gpu usage when Foobar is minimized, it does if you put it on a tab and change tab, but would prefer to have no GPU usage if Foobar is minimized for performance.  Default UI btw ty
This has been implemented since the first release by pausing the render timer. Unfortunately, foobar2000 does not pass the Win32 window messages required for it to work on minimize (as far as Spy++ shows) so the pause/resume is not triggered.

Re: foo_vis_vumeter

Reply #551
Hi, Thx for this component, is there any way to stop the component/gpu usage when Foobar is minimized, it does if you put it on a tab and change tab, but would prefer to have no GPU usage if Foobar is minimized for performance.  Default UI btw ty
This has been implemented since the first release by pausing the render timer. Unfortunately, foobar2000 does not pass the Win32 window messages required for it to work on minimize (as far as Spy++ shows) so the pause/resume is not triggered.
Does this also mean that when 6 instances are defined but only one is visible, the other 5 instances still use resources and cpu cycles?

Re: foo_vis_vumeter

Reply #552
Hi, Thx for this component, is there any way to stop the component/gpu usage when Foobar is minimized, it does if you put it on a tab and change tab, but would prefer to have no GPU usage if Foobar is minimized for performance.  Default UI btw ty
This has been implemented since the first release by pausing the render timer. Unfortunately, foobar2000 does not pass the Win32 window messages required for it to work on minimize (as far as Spy++ shows) so the pause/resume is not triggered.

Ah ok thx fair enough,

Re: foo_vis_vumeter

Reply #553
Does this also mean that when 6 instances are defined but only one is visible, the other 5 instances still use resources and cpu cycles?
I don't know what your setup does in terms of window messages. In technical parlance, the timer is stopped in (for "minimize" or being out of sight) with one of four signals:
1. WM_SIZE with wParam being SIZE_MINIMIZED.
2. WM_WINDOWPOSCHANGED with SWP_HIDEWINDOW flag set (the tab change triggers this one after 4).
3. IsIconic() returns nonzero.
4. IsVisible() returns zero (the tab change triggers this one).
5. Extra, when resizing (WM_WINDOWPOSCHANGING and/or WM_SIZE) and transparent in Columns UI.

So, I suspect that "yes," they will still use GPU resources unless the windows are hidden using ShowWindow() with SW_HIDE flag--this is what the tab control is doing. Unless I hook into the message pump for the foobar2000 window that is. But I think it will be frowned upon and that might get the component banned.

Re: foo_vis_vumeter

Reply #554
Does this also mean that when 6 instances are defined but only one is visible, the other 5 instances still use resources and cpu cycles?
I don't know what your setup does in terms of window messages. In technical parlance, the timer is stopped in (for "minimize" or being out of sight) with one of four signals:
1. WM_SIZE with wParam being SIZE_MINIMIZED.
2. WM_WINDOWPOSCHANGED with SWP_HIDEWINDOW flag set (the tab change triggers this one after 4).
3. IsIconic() returns nonzero.
4. IsVisible() returns zero (the tab change triggers this one).
5. Extra, when resizing (WM_WINDOWPOSCHANGING and/or WM_SIZE) and transparent in Columns UI.

So, I suspect that "yes," they will still use GPU resources unless the windows are hidden using ShowWindow() with SW_HIDE flag--this is what the tab control is doing. Unless I hook into the message pump for the foobar2000 window that is. But I think it will be frowned upon and that might get the component banned.
I tested a bit. I can show up to 6 instances of VU 0.10.15 all are being run from PSS by using a $showpanel_c(id,show) command where show is either 1 or 0.
Performancewise nothing changes whether I show 0 or 6 VU panels (no other visuals shown at all except 1x wavemini). Also the size of the total fooBar window does not change a thing.
My system has 12 cores/24 threads and fooBar fills one thread up to 100% (no effect on responsiveness btw). So fooBar uses ~4.80% of total cpu and total system cpu usage is around 10% when using fooBar.
The only thing I can say  is that the difference between playing FLAC96/24 vs FLAC44/16 is around 0.50% total, so with FLAC44/16 foobar cpu usage drops to ~4.30%.