Repository navigation
Conversation
fderop
marked this pull request as ready for review
October 2, 2026 18:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Flipped sprites rebuilt the same scratch image on every draw, even when many objects shared one source bitmap.
ContentFilenow creates that flip once and reuses it:Only content-owned, unmodified color sprites with matching dimensions use the cache. Edited sprites and clones retain the scratch path.
Reload, ownership transfer, and cleanup invalidate cached flips.
Transparent GPU draws skip the unused CPU flip preparation.
All 1,096 CPU pixel cases and six GPU cases match baseline.
Three process pairs show 24.9–35.5% less repeated draw time and 21.1% less gameplay color-drawing time.
Overall simulation results remain inconclusive, with slightly worse p95 timing.
First draws of 512 unique assets cost 4.6–6.0% more.
The cache adds one image per flipped source: about 2.30 MiB for 512 distinct 64×64 sprites, excluding map and allocator overhead.
These results do not establish an FPS gain.
Production changes touch
MOSRotating.cppandContentFile.cpp/.h. Pixel checks, raw results, and reproduction instructions.