Fast Splash Screen for .NET, using native compiled code?

M

Matt

I've got a .NET app that takes > 10 seconds to load on a cold boot with
older machines. This is confusing to users.

I've put in a .NET splashscreen, which helps, but even that can take
several seconds to display.

An approach that I've seen discussed is to use native compiled code to
throw up the splashscreen while the .NET framework is loading. I think
this is a good approach. I found http://www.quicksplash.net/, but it uses
an approach that won't work for me (lock files written to %programfiles%).

I may have to learn some C++. I have some questions.

First, is there another solution to this problem that I didn't find?

Second, if the best solution is to write a splashscreen-launcher, what
would you recommend for a guy who has only ever done high level languages
like VB and C#? It looks like there is ATL, MFC, Win32 options in VS08--I
don't know one from another.

Any other general advice is appreciated.

Matt
 
I

Ignacio Machin ( .NET/ C# MVP )

I've got a .NET app that takes > 10 seconds to load on a cold boot with
older machines. This is confusing to users.

I've put in a .NET splashscreen, which helps, but even that can take
several seconds to display.

An approach that I've seen discussed is to use native compiled code to
throw up the splashscreen while the .NET framework is loading. I think
this is a good approach. I foundhttp://www.quicksplash.net/, but it uses
an approach that won't work for me (lock files written to %programfiles%).

I may have to learn some C++. I have some questions.

First, is there another solution to this problem that I didn't find?

Second, if the best solution is to write a splashscreen-launcher, what
would you recommend for a guy who has only ever done high level languages
like VB and C#? It looks like there is ATL, MFC, Win32 options in VS08--I
don't know one from another.

Any other general advice is appreciated.

Matt

Honestly I would think that that solution is even more slower.
How you are creating your splash screen?
My splash gets displayed at once. It is just a small form with a
ImageBox, nothing fancy.

Are you sure you are not creating the splash frmo inside the main
window?
 
M

Matt

Hard to say. Plain Win32 is likely the simplest. MFC, which is a
thin wrapper around Win32, would be a good choice if you already knew
it, but knowing the underlying Windows API is always a good thing,
and it could take you as long to get a simple splash-screen app
running in MFC as in Win32, after which time you still wouldn't know
the Win32 API.

In any case, a simple native program that just shows a splash screen
and launches the actual target process is on the order of dozens of
lines of code at the most. It probably doesn't matter _too_ much
what API you use to write it. Just pick one and see how it goes. :)

Sounds reasonable. Thanks for the advice.

Matt
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top