VSYNC FIXED!


TL;DR: VSync issue is fixed. You MIGHT be able to just drop the latest DLL into your project with no other changes. If you have troubles, update Godot.

I’m creating a list of “Using GodotBoy” games. If you’d like to be included, the best way to contact me is BlueSky.

Version 0.5.0

  • Update GodotRust to 0.4.2 (Web is still using GodotRust 0.3.2 until I can fix the build issues with it)
  • Cleanup build warnings on for deprecated pipelines.
  • Force-lock RBoy version.
  • Update base Godot Version
  • Fixes VSync issues

VSync issue was not an issue inhered by RBoy, but due to an issue I introduced. I was catching a GPU update change from RBoy and then when I was done cycling the CPU, I copied the screen memory and pushed it to the Godot. This was incorrect.

I needed to copy the GPU memory immediately after the GPU memory was flagged as dirty, not at the end of the cycle. If I wait until the end of the cycle, the GPU might be in the middle of writing to the next screen frame while I copy it out.

Now every cycle, I check the if the GPU memory is dirty, and if it is, I cache the current screen. When I’m done cycling, I convert the cache into a signal to Godot.

You LIKELY do not need to update your whole project. You will likely only need to replace the addons/godot_boy (be sure to delete the old copy). If that doesn’t work, updating your Godot Version as well should work.

PS: On a personal note, I lost my job recently. So I’ve had some time to work on this. If you’re using GodotBoy to publish your game, please consider donating by “buying” it on Itch for whatever you think it’s worth.

Files

Templete Zip 8.9 MB
Version 7 4 hours ago

Get GodotBoy Export Template

Download NowName your own price