Use QtConcurrent (blocking)map to process multiple StarBlocks in parallel.
Results: On my dual core Intel Core i5, this change produces roughly a 30% reduction in the unnamed star computation + draw time when centered on M 69 (there is a catalog artefact patch in the region). Notes: 1. This is not the best we can do -- this does not parallelize the drawing code. That would require more effort to make sure there are no race conditions in rendering on the pixmap. This is just a few-line quick change. 2. Need to investigate if QFuture has any advantage. We might as well do away with our ways of doing JITupdate and use QFuture if it does what we want. 3. There might be some advantage if we "pipeline" the computations, i.e. one thread doing EquatorialToHorizontal, and another doing updateCoords, in terms of cache performance etc.
parent
3a2eaef7
Please register or sign in to comment