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.
We've spent a few rounds of doing render loop optimizations and discovered there are several improvements that can be made. Consider this round # 1 of our performance hunt.
Current list of changes:
Benchmarking
We've used two benchmarking methods:
Observations, all tested on a RPI3 with WPEWebKit 2.42:
Simple animation on L2 @ 720p rendered at ~59 FPS
Simple animation on L3 @ 720p rendered at 33 FPS at the start of this exercise
Simple animation on L3 @ 720p renders at 47 FPS with the above changes, excluding texture rebindsSimple animation on L3 @ 720p renders at ~59 FPS
Blits stress test @ 1080p renders at 12 FPS prior to these changes
Blits stress test @ 1080p renders at 27 FPS with the above changes excluding texture rebinds
Blits stress test @ 1080p renders at 47 FPS with a texture rebind hack (TODO implementation).Blits stress test @ 1080p renders at 31 FPS with changes
@erikhaandrikman for all the support & hunting 🤟
Todo: