Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple thread syncs per frame #780

Closed
dirkwhoffmann opened this issue Jan 26, 2024 · 1 comment
Closed

Support multiple thread syncs per frame #780

dirkwhoffmann opened this issue Jan 26, 2024 · 1 comment

Comments

@dirkwhoffmann
Copy link
Owner

At the moment, VirtualC64 emulates the C64 frame by frame. That is, the emulator thread computes an entire frame, sleeps, computes an entire frame, sleeps, etc.

With the reworked execution routine, it is easy to make this more flexible by letting the thread compute, e.g., half a frame or the third of a frame. Smaller execution chunks could (in theory) make the emulator more responsive as it could recognize some joystick movements already in the middle of a frame rather than at the end.

@dirkwhoffmann
Copy link
Owner Author

Thread settings have moved to the Performance panel:

Bildschirmfoto 2024-01-27 um 14 35 29

The new version supports time-slicing; that is, a single frame can be computed in smaller chunks (up to 4). By increasing the number of time slices, the emulator can become more responsive, depending on how a C64 game polls the joystick ports. However, there won't be any difference for most games (especially those that poll the joystick lines once per frame).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant