Bug 768

Summary: Rendering is slow at intermediate zoom levels
Product: PulseView Reporter: whitequark <whitequark>
Component: Data displayAssignee: Nobody <nobody>
Status: CONFIRMED ---    
Severity: normal CC: soeren
Priority: Low    
Version: 0.3.0   
Target Milestone: ---   
Hardware: All   
OS: All   

Description whitequark 2016-03-06 14:31:59 CET
First, run PV with the default demo settings (1M digital and analog samples). Then, drag the view around with all samples easily fitting on a part of the viewport (zoomed out). It's fast. Then, zoom in so that you can see individual transitions / periods, and drag the view around. It's also fast. Then, zoom out so that the captured waveforms take maybe 5x of (virtual) screen space compared to the viewport. Now, every render takes a few hundred ms.
Comment 1 Soeren Apel 2016-04-17 21:50:33 CEST
I could reproduce this only at one very specific zoom level. Zooming in or out one level from this one made it render fast again. For this reason I'm tempted to assume that rendering slows down on the last zoom level before hitting the next mipmap level. We could increase the number of mipmap levels to alleviate this, though this would cost additional memory.

I'm setting this bug to low priority because PV currently has high memory usage, making an increase in needed memory rather prohibitive. Once libsigrok has switched from a continous-sample model to an event-based model, PV's memory usage will drop significantly, allowing the number of mipmap levels to be increased.