Mercurial > hg > svgui
comparison 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 |
comparison
equal
deleted
inserted
replaced
1211:7a19738b9762 | 1212:a1ee3108d1d3 |
---|---|
302 int getFFTOversampling() const; | 302 int getFFTOversampling() const; |
303 int getFFTSize() const; // m_windowSize * getFFTOversampling() | 303 int getFFTSize() const; // m_windowSize * getFFTOversampling() |
304 | 304 |
305 FFTModel *m_fftModel; | 305 FFTModel *m_fftModel; |
306 FFTModel *getFFTModel() const { return m_fftModel; } | 306 FFTModel *getFFTModel() const { return m_fftModel; } |
307 Dense3DModelPeakCache *m_wholeCache; | |
307 Dense3DModelPeakCache *m_peakCache; | 308 Dense3DModelPeakCache *m_peakCache; |
308 Dense3DModelPeakCache *getPeakCache() const { return m_peakCache; } | 309 Dense3DModelPeakCache *getPeakCache() const { return m_peakCache; } |
309 const int m_peakCacheDivisor; | 310 const int m_peakCacheDivisor; |
311 bool canStoreWholeCache() const; | |
310 void recreateFFTModel(); | 312 void recreateFFTModel(); |
311 | 313 |
312 typedef std::map<int, MagnitudeRange> ViewMagMap; // key is view id | 314 typedef std::map<int, MagnitudeRange> ViewMagMap; // key is view id |
313 mutable ViewMagMap m_viewMags; | 315 mutable ViewMagMap m_viewMags; |
314 mutable ViewMagMap m_lastRenderedMags; // when in normalizeVisibleArea mode | 316 mutable ViewMagMap m_lastRenderedMags; // when in normalizeVisibleArea mode |