diff layer/SpectrogramLayer.h @ 1212:a1ee3108d1d3 3.0-integration

Make the colour 3d plot renderer able to support more than one level of peak cache; introduce a second "peak" cache for the spectrogram layer that actually has a 1-1 column relationship with the underlying FFT model, and use it in addition to the existing peak cache if memory is plentiful. Makes spectrograms appear much faster in many common situations.
author Chris Cannam
date Thu, 05 Jan 2017 14:02:54 +0000
parents 7a19738b9762
children de1792daae07
line wrap: on
line diff
--- a/layer/SpectrogramLayer.h	Thu Jan 05 11:10:57 2017 +0000
+++ b/layer/SpectrogramLayer.h	Thu Jan 05 14:02:54 2017 +0000
@@ -304,9 +304,11 @@
 
     FFTModel *m_fftModel;
     FFTModel *getFFTModel() const { return m_fftModel; }
+    Dense3DModelPeakCache *m_wholeCache;
     Dense3DModelPeakCache *m_peakCache;
     Dense3DModelPeakCache *getPeakCache() const { return m_peakCache; }
     const int m_peakCacheDivisor;
+    bool canStoreWholeCache() const;
     void recreateFFTModel();
 
     typedef std::map<int, MagnitudeRange> ViewMagMap; // key is view id