Comment 24 for bug 742388

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

4 spinnies, 4 GL filtered waveforms, gain cranked up:

Debug [Main]: Stat("WaveformWidgetFactory::render() 4waveforms","count=10313,sum=1.26813e+10ns,average=1.22964e+06ns,min=225702ns,max=3.17419e+07ns,variance=8.7429e+11ns^2,stddev=935035ns")
Debug [Main]: Stat("WaveformWidgetFactory::swap() 4waveforms","count=10312,sum=6.32683e+10ns,average=6.1354e+06ns,min=369739ns,max=5.36677e+08ns,variance=1.96071e+14ns^2,stddev=1.40025e+07ns")

Swap average times are 6ms on average render average times are 1.2ms.

I then disabled the signal rendering itself, repeated the experiment and it held 60fps with no problem:

Debug [Main]: Stat("WaveformWidgetFactory::render() 4waveforms","count=5547,sum=4.70622e+09ns,average=848427ns,min=212468ns,max=5.17742e+07ns,variance=7.22005e+11ns^2,stddev=849709ns")
Debug [Main]: Stat("WaveformWidgetFactory::swap() 4waveforms","count=5546,sum=1.75351e+10ns,average=3.16176e+06ns,min=349209ns,max=1.12333e+08ns,variance=2.079e+13ns^2,stddev=4.55961e+06ns")

Next, I added signal rendering back in except I replaced the waveform with a dummy signal that was just half-value for the entire waveform.

By changing the visual gain (independent of track gain) I can make the FPS go from 60 to 20 by just making the gain higher and higher. It doesn't even have to clip. Starting at visual gain 0.5 for low/mid/high and all, I get 60fps. As I increment the overall gain by 0.1 the FPS decreases linearly.

This is boggling. All that changes is that we draw some lines longer when we change the gain. They aren't even clipping outside the widget (I added clamping so that hte widget isn't even allowed to draw waveform signal outside of the ortho matrix ranges we set up.)