You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 23, 2024. It is now read-only.
Some people have recorded videos of smaghetti and in those videos the emulator runs very slow, like 10fps or so. I have also found it runs pretty slowly in Firefox and Safari, even on a very high end machine.
Honestly not sure what can really be done about this. I did some quick profiling and it looks to be death by a million paper cuts. Some specific thumb/arm opcode calls dominate the profile (that is, compared to other opcodes, they don't dominate the entire profile), so possibly for those specific instructions, removing the closure and generating a function each time might help.
Barring that, switching to a web assembly based emulator might be needed.
The text was updated successfully, but these errors were encountered:
actually calls related to updating the canvas, pushPixel, renderScanline and finishScanline make up a large chunk of the profile too, and they might have some optimization opportunities.
another possibility, is the emulator spending a lot of time checking for things that sma4 never uses? would it be possible to pair the emulator down to just what is needed for sma4? seems like a long shot and a ton of work, but really learning gba internals and how gba.js works would probably be beneficial in general.
Some people have recorded videos of smaghetti and in those videos the emulator runs very slow, like 10fps or so. I have also found it runs pretty slowly in Firefox and Safari, even on a very high end machine.
Honestly not sure what can really be done about this. I did some quick profiling and it looks to be death by a million paper cuts. Some specific thumb/arm opcode calls dominate the profile (that is, compared to other opcodes, they don't dominate the entire profile), so possibly for those specific instructions, removing the closure and generating a function each time might help.
Barring that, switching to a web assembly based emulator might be needed.
The text was updated successfully, but these errors were encountered: