Perspective Correction Caching System Considerations (Patreon)
Content
The technique I've developed to precompute the dithering of the texel coordinates reduces the amount of operations per coordinate from 16 sums to 7 sums per scan segment, which is less than half. This is what was used in Retroquad so far.
However, it seems that there's no way to preserve the precomputed dithering when caching the perspective correction, since the cached perspective correction requires the perspective to be corrected per-pixel with no interpolation at all. So, the CPU operations required for the perspective correction caching per scan segment must save at least the same amount of CPU cycles of the 9 sums that we stopped saving.
I'm not an expert in CPU instructions and instruction cycles, but looking at the code I've written up for the perspective correction caching so far, it seems that the total amount of operations is about the same as of the non-cached precomputed dithering version. However, the new code is a lot simpler and requires less variables, so it may speed things up by reducing the amount of CPU cache usage. Let's see.