If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Display and CPU
15 posts
• Page 2 of 2 • 1, 2
Re: Display and CPU
So... As promised here are my findings.
What I was trying to do is cut down CPU on FFT display, original starting point is two stock FFT displays put together, one for each channel. CPU reading was 21% (not DAW or F.S. CPU reading but windows CPU reading, as explained above).
* going from multiple Tick_25 to single Tick_25 and 'wireless out' to all draw/redraw modules - 21% [no effect]
* Cutting Ticker (trigger divide) by 2 (still good speed) - 13%
* Cut out one of the 'stock FFT display' and combine both 'lines' into a stereo display - 10%
* Cut out all 'grid' and 'background' from redraw area (just paste it on top of static background) - 6%
* Cut down vector (array) size to 400 (from 16000, still fine resolutiuon for EQ background) brought it down to 4%
So, CPU is cut down from 21% to 4%, resolution is lower but acceptable to my mind. Still higher than 'market VST' EQ's which run FFT displays in background...
The last version is attached, for anyone to use.
Thanks for the help !
What I was trying to do is cut down CPU on FFT display, original starting point is two stock FFT displays put together, one for each channel. CPU reading was 21% (not DAW or F.S. CPU reading but windows CPU reading, as explained above).
* going from multiple Tick_25 to single Tick_25 and 'wireless out' to all draw/redraw modules - 21% [no effect]
* Cutting Ticker (trigger divide) by 2 (still good speed) - 13%
* Cut out one of the 'stock FFT display' and combine both 'lines' into a stereo display - 10%
* Cut out all 'grid' and 'background' from redraw area (just paste it on top of static background) - 6%
* Cut down vector (array) size to 400 (from 16000, still fine resolutiuon for EQ background) brought it down to 4%
So, CPU is cut down from 21% to 4%, resolution is lower but acceptable to my mind. Still higher than 'market VST' EQ's which run FFT displays in background...
The last version is attached, for anyone to use.
Thanks for the help !
- Attachments
-
- Stereo_FFT_Low_CPU.fsm
- (2.56 KiB) Downloaded 831 times
- Rocko
- Posts: 186
- Joined: Tue May 15, 2012 12:42 pm
Re: Display and CPU
Nice play.
It would be interesting to get a not limited spectral waterfall (spectrogram) with live mode per time window (scrolling, paging) and capturing as a bitmap as well.
It would be interesting to get a not limited spectral waterfall (spectrogram) with live mode per time window (scrolling, paging) and capturing as a bitmap as well.
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
Feel free to donate. Thank you for your contribution.
- tester
- Posts: 1786
- Joined: Wed Jan 18, 2012 10:52 pm
- Location: Poland, internet
Re: Display and CPU
Rocko wrote:Cut out all 'grid' and 'background' from redraw area (just paste it on top of static background)
Is a view just a set of pixels that's redrawn or does the content of the view (not just the size) effect the redraw cost?
- Perfect Human Interface
- Posts: 643
- Joined: Sun Mar 10, 2013 7:32 pm
Re: Display and CPU
Hi,
Not a measured answer, but from the way I understand it, the 'CPU eater' is high amount of green calculations.
This means that if you redraw large vectors of data which are calculated at high rate, CPU will be high.
To decrease this, I have (basedon forum advice):
* Shortened calculated vectors
* Lowered rate and sunched all display (redraw) to one
If the background is constant, not changing, just take it out of redraw area. The stock FFT provided by FS/SM comes with a chagnging grid/background area, which is redrawn by size change or by new data, so (AFAIK) - it actually redraws the whole area and grid, once a new vector comes in...
Big waste of CPU if the VST is finalized and display size is determined.
Thanks,
Rocko
Not a measured answer, but from the way I understand it, the 'CPU eater' is high amount of green calculations.
This means that if you redraw large vectors of data which are calculated at high rate, CPU will be high.
To decrease this, I have (basedon forum advice):
* Shortened calculated vectors
* Lowered rate and sunched all display (redraw) to one
If the background is constant, not changing, just take it out of redraw area. The stock FFT provided by FS/SM comes with a chagnging grid/background area, which is redrawn by size change or by new data, so (AFAIK) - it actually redraws the whole area and grid, once a new vector comes in...
Big waste of CPU if the VST is finalized and display size is determined.
Thanks,
Rocko
- Rocko
- Posts: 186
- Joined: Tue May 15, 2012 12:42 pm
Re: Display and CPU
Rocko wrote:If the background is constant, not changing, just take it out of redraw area.
So, from what you're saying, the things in the area effect the cost of the redraw beyond just the size of the redraw area? And shapes and gradients are all recalculated? Every object? Is everything inside the view recalculated but only the area specified redrawn? How much does the size of the redraw area (in pixels) effect the cost irrespective to the content?
- Perfect Human Interface
- Posts: 643
- Joined: Sun Mar 10, 2013 7:32 pm
15 posts
• Page 2 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 75 guests