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.
Description
esp_timer_get_time()
for more precision and less overheadx
button), otherwise they target 60 Hz (sleeping to wait)Motivation and Context
Overall we want better performance (so we can unlock the emulators and run them faster than real time - because I'm impatient :P) and we need to squeeze more performance out of every subsystem to try to get the genesis emulator to run full speed when audio is enabled (and ideally to not have to skip frame rendering...).
How has this been tested?
Building and running
main
onbox-3-emu
. Testing all the emulators (and the unlocked variants ofnes
,gbc
, andsms
emulators.Main branch test on Sonic 1: 53.8 FPS average (when frameskip=3, audio on)
This branch test on Sonic 1: 74.8 FPS average (when frameskip=3, audio on)
There's still quite a few frames which exceed the target of 16ms (60Hz), but it's definitely an improvement.
Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):
Types of changes
Checklist:
Software
.github/workflows/build.yml
file to add my new test to the automated cloud build github action.