Restore inlining for .fblits() internal functionality
#2978
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.
A previous PR (#2679) improved the fblits function by condensing the core loop into a separate function. However, this change slightly impacted performance, particularly with small surfaces, which are the primary focus of the fblits function. This new PR aims to restore the original performance without significantly increasing the code size.
Interestingly, the results are as follows:
New: 234,496 bytes
Old: 235,008 bytes
This minor discrepancy of 512 bytes represents a 0.2% increase in code size, which is negligible.

The test demonstrates a 10x10 pixel surface being drawn onto a 1000x1000 screen, with the x-axis representing the number of surfaces drawn.