Closed fengb closed 4 years ago
Preliminary change is working: https://github.com/fengb/fundude/tree/optimize-sprites
A hybrid approach seems to work the best and improves sprite rendering by ~60%:
Unfortunately there are quite a few problems:
2 and 3 might be solvable... but 4 is definitely out.
Overthought this problem. Replacing data.reset(White)
in painter's algorithm with the prev_oam diff improved performance by 600%.
Closed by cc56552be6e93ddbb46183c14adb9c081e70a8f0
Current sprite rendering uses the same diffing / rendering algorithm of patterns and tiles:
While this is less than optimal, it matches the usecase of patterns and tiles pretty well, but this does not make sense for sprites:
We should use a better algorithm that matches this behavior: