Note that there are some explanatory texts on larger screens.

plurals
  1. POImprove perceived WPF app startup time
    primarykey
    data
    text
    <p>I have a WPF database viewer application: It's a simple main window containing a user control with a data grid showing the data extracted from an SQLite database.<br> The problem is that this application takes 6 seconds to start until it is usable.</p> <p>I tried building the user control (and doing all the data loading) in the constructor of the main window:<br> The splash screen will be shown 5s this way, then followed by 1s of empty main window until the application is ready to be used.<br> Users said that it takes too long until something (visually) happens.</p> <p>I then moved the user control creation (and data loading) into the Loaded event handler of the main window: The splash screen will be shown 3s, followed by 3s of empty main window until the application is ready.<br> Users said that it is "better", but don't like the fact that a half finished main window is shown in disabled state for so long.</p> <p>Is there some general advice to be found about perceived application load time or are there any other recommendations about how this situation can be improved?<br> I believe ideally the main window would be shown as fast as possible, along with some hour glass or spinner until the data is loaded. But then I cannot just move the user control creation into a background worker as this would be done on the wrong thread.</p> <p>Does anybody have any suggestions to this problem?</p> <p>Edit:<br> Note that right now I've just assigned a LINQ-to-EF query as the grid data source.<br> One possible improvement may be to load this data into a data table in background and assign it only once loaded...</p> <p>Edit2: I'm using .net 4 with System.Data.SQLite and EF4 to load the data. There are more or less 4000 rows and 30 columns.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload