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.
Before merging this PR, I strongly suggest creating a
3.x
branch, so the 3.x code can still be available for anyone that might need it.This PR also changes the code to make better use of static typing, such as using classes instead of dictionaries. Statically typed GDScript results in increased performance in Godot 4. I did a small benchmark with the example spritesheet, by taking the average of 10 spritesheet slices. The performance increase is not that huge for the example spritesheet, but it should be noticeable with larger images.
Known limitations:
The compatibility renderer does not yet work with multi-threaded mode (godotengine/godot#61650). Multi-threaded mode is marked as experimental in general, so use it with care, until Godot fixes the issues with it.