jeudi 30 octobre 2008

How to speed up S60 emulator starting

We all Symbian developers know that: WINS emulator is waaaay too slow to start. Why, but why does it take one full minute before actually starting the .EXE I'm intending to run? I can easily go and take a cofee, have a talk with a collegue, come back and respond my emails before something actually happen after I pressed F11 in Carbide. Am I kidding? Not so much...

Ok, that being said, there are some underlying reasons for that slowness. Bear in mind Symbian is a smartphone OS ; and even though you're using it as a simple graphic application SDK, your Symbian emulator nevertheless runs a whole bunch of telephony-related stuff, and THAT is the reason why startup is slow. Actually, that's not ONE reason, but rather a nest of reasons.

Enough talking, here is how to speed up things. I'm working under S60 3rd FP2 SDK, and the emulator takes 75 seconds to start on my 2400+ Athlon: we can certainly do better! All WINS executables lies under \epoc32\release\winscw\udeb\, so let's try to find what we can get ride of.

_ "Phone.exe": hey, the name sounds important, guess this executable impact is high. I don't want a PHONE, I want a development platform. What if I simply delete that file? Wow... can't believe it: the emulator still manage to start, and takes... 24 seconds! Can't believe I divided startup time per 3 just by deleting one file.

Hey hey, that's enough for me. Going from 75 to 24 seconds satisfy me ; however I'm pretty sure we can do better: there is still too much stuff displaying in Carbide debug console during startup. Gotta try to work my vacuum cleaner someday...

In conclusion: delete \epoc32\release\winscw\udeb\phone.exe to speed up Symbian S60 emulator starting. This works on S60 3rd FP2 public SDK.