ColinPitrat / caprice32

An emulator of the Amstrad CPC 8bit home computer range.
GNU General Public License v2.0
146 stars 32 forks source link

Caprice32 on windows 10 is launching very slowly after 4 different launches #233

Open ldir-hector opened 1 year ago

ldir-hector commented 1 year ago

I have noticed that first on Caprice 32 Forever (a fork) where it was getting very slow to launch after 6 different launches. Before contacting this fork's author, I tested it on the original source and got your last release.

On the first launch, the glorious blue and yellow screen of the CPC appears in 2-3 seconds. I close it, launch it again and it also appears in 2-3 seconds. I repeated twice and on the fourth launch, I had to wait more than 30 seconds to see the Ready prompt !

As I said, I closed Caprice32 windows each time, so it's not that my PC lacks memory, besides here is the taskmanager report for its processes : image

I have an Intel i5 and 16 gigabytes of RAM, nothing especially memory hungry running, so it should be more than enough to emulate an amstrad CPC !

I am reporting this because, I use a software ugBasic that launch a new Caprice32 Forever application each time I want to test my program on it. So after 6 tries, developping is much slower ! Thanks in advance !

ColinPitrat commented 1 year ago

Sorry for the long delay. I thought I had already answered this.

This is very peculiar indeed. I could understand it being slower after the 2nd launch. But after the 4th is quite surprising.

You can try launching cap32 -v from the command line which may provide some clues as to what is slow. This would be ideal with a debug build (which is not provided for windows, I should look into providing a cap32 and cap32_debug in the archive).

Under linux, I would try to debug this with strace. It seems a good alternative to that on Windows is procmon: https://learn.microsoft.com/fr-fr/sysinternals/downloads/procmon I'm not familiar with it but you can try it to see if it's stuck on some particular file access, or something like that.