1.4.0rc1-840-gf59c9f4b2
Pre-release
Pre-release
Rewrite the Block Analyzer to improve performance. The block analyzer was doing lots of repeated, out-of-order blits to the widget's canvas. To improve performance and reduce CPU usage, this has been rewritten to generate the canvas contents using only a single buffer. Cache thrashing has been greatly reduced by writing to memory only sequentially and in one single write pass. Further, the raw format is now guaranteed to be in a format efficient for Qt. The results are visually identical to what they were previously, but result in a CPU usage reduction between 2 and 6 percent depending on refresh rate and Psychadelic Mode value. In particular, there used to be a ~3 percent overhead for Psychadelic Mode, and this has been eliminated. The specific details of the block analyzer and explanations for how it works (and used to work) have been documented via fairly extensive comments in blockanalyzer.cpp.