So I'm on Linux, and I'm having sizeable performance issues with the Simulator. It seems to be running at ~10fps in all games, even in the Launcher. I know it's not my computer, because it used to work fine. I'm not sure exactly when it became so laggy, but it's not suitable for game development.
I tried rebooting my PC, and deleting ~/.config/Playdate Simulator/, none of which worked. I don't really know what else I could try, to be honest. Is this an issue someone has had before ? Is it maybe a feature I accidentally turned on or something.
Have you done any profiling on the Simulator to see if it's using a lot of CPU when this happens? If not, could you profile it or see if another process is bogging down your computer? If you've deleted your settings it should have reset anything that would have slowed down the Simulator. I can't think of anything that would be causing this behavior off the top of my head.
Yes ! I did. I forgot to mention perhaps the most important piece of information : nearly 100% of the processing is done by what I assume is native C code (see picture below)
The specific game I was using for demonstration is Celeste Classic, but the problem happens with any game I can throw at it, and even without launching any game just in the playdate menu and settings. Even in a game where the pd.update() function is completely empty, it still happens...
Edit: And the samples that the (C) function is making seem to happen 10 times per frame.
Well, that worked. So apparently this is only an issue in 2.2.0 and up for me. That's why it worked before. Thanks ! I guess I'll just use the 2.1.1 for now.
Edit: Should I change this to 'Bug report' then ? Also the near 100% consumption by (C) is normal apparently
Bad news, the code that I thought might be slowing it down isn't called in normal use. Could you run the Sim using perf and see if it sheds any light on the slow down? Oh, also are you running in a VM or bare metal?
Sure, here is the perf.data I got from perf record ./PlaydateSimulator Celeste.pdx : https://file.io/kbaCiKeCqyra. And I am running it on bare metal.
Edit : It seems like there are a lot more mallocs happening than with the working Simulator. Here is that file for reference : https://file.io/PbAgu5qhDC2p