Slow startup

Discussion in 'Questions (Windows Mobile)' started by robmh, Jul 10, 2007.

  1. robmh

    robmh Member Licensed User

    Hi

    I've written a program based around SQLite which runs fine on my PPC but takes 10s or so to load.

    Is this normal?

    Is it related to the .NET 2.0 framework that the SQLite dll needs?

    Is there any way of reducing this delay?

    BTW, I'm using a Fujitsu Pocket Loox C550 which has a 520MHz CPU.

    Thanks
     
  2. agraham

    agraham Expert Licensed User

    Are you running any long loops in your startup? You have to bear in mind that one of the tradeoffs of B4PPC is that it trades simplicity for raw performance as it is effectively interpreted at runtime. Normally this doesn't matter for handheld (or even a lot of desktop) applications as they spend most of their time waiting for user input and the compute intensive graphics processing is provided in big lumps by the underlying platform.

    Can you spread some of that initialization over a longer period of time - say doing it in one second lumps when the user takes some action that needs that initialization done?
     
  3. RandomCoder

    RandomCoder Well-Known Member Licensed User

    I've not used SQLite myself (it looks mightly complicated) but I have read every post in this forum and Erels response to this type of problem is generally only to load the information that is relevant to the user rather than loading the complete database.
    Is that something that you could look at doing within your application?

    Another trick that I have used in the past is to use DoEvents so that the screen is updated with information to show that something is being done in the background. This has the added disadvantage that the CPU now has to cope with updating the screen alongside calulating or loading the other data. But at least the user gets to see something other than the wait cursor.

    Regards,
    RandomCoder.
     
  4. Erel

    Erel Administrator Staff Member Licensed User

    The SQLite library itself doesn't take 10 seconds to start.
    You could see the SQLExample (downloads page) that starts quickly.
     
  5. robmh

    robmh Member Licensed User

    Thanks for your responses.

    I'm not running any loops. I simply load the data, setup a few controls and open the main form.

    I'm loading less than 100 records. Also, running a different query and loading a table from the resulting data only takes a second or two.

    The SQL example takes 9s to load and my app takes 12s.

    A simple aplication with a single form and a few controls running under .NET CF 2.0 takes 6s.

    I assume that when you say "starts quickly" you mean in much less than 9s.

    If so, it would appear that the problem lies with my PPC or something in its setup.

    Note that I tried setting the CPU speed to "turbo" and re-installing .NET CF but with no effect.
     
  6. Erel

    Erel Administrator Staff Member Licensed User

    It takes 2-3 seconds to load the SQL compiled example on a WM2003 device with 400 mhz (HP ipaq).
    You could use the FormLib library to minimize your application instead of closing it.
    This way it will only do a full start once.
     
Loading...