Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splash screen not displayed for WinUI Desktop #4055

Open
Tracked by #12395
Berkunath opened this issue Jan 29, 2021 · 34 comments
Open
Tracked by #12395

Splash screen not displayed for WinUI Desktop #4055

Berkunath opened this issue Jan 29, 2021 · 34 comments
Labels
appModel-win32 Exclusive to WinUI 3 Win32 Desktop apps feature proposal New feature proposal product-winui3 WinUI 3 issues

Comments

@Berkunath
Copy link

Splash screen not displayed for WinUI Desktop
I have WinUI Desktop application and I would like to display the Splash screen before content of Window loads. But splash screen not displayed even we have Splash screen Images. Currently empty screen displays for 2 to 3 seconds.

Expected behavior
Splash Screen should display on start up of the application

Version Info
[Microsoft.WinUI 3.0.0-preview3.201113.0]

@ghost ghost added the needs-triage Issue needs to be triaged by the area owners label Jan 29, 2021
@StephenLPeters StephenLPeters added appModel-win32 Exclusive to WinUI 3 Win32 Desktop apps product-winui3 WinUI 3 issues labels Feb 2, 2021
@StephenLPeters
Copy link
Contributor

I think that Splash screens are a UWP concept. I think that if you want to show one in a win32 app, you'll need to do it yourself. @Austin-Lamb might know more.

@StephenLPeters StephenLPeters removed the needs-triage Issue needs to be triaged by the area owners label Feb 2, 2021
@marb2000 marb2000 self-assigned this Feb 9, 2021
@marb2000
Copy link
Contributor

marb2000 commented Feb 9, 2021

@StephenLPeters is right. Splash Screens are not implemented yet in WinUI 3 Desktop. You can create a feature proposal :)

@marb2000 marb2000 added the feature proposal New feature proposal label Feb 20, 2021
@jeganraj-m
Copy link

But there is an option to provide Splash screen in desktop projects.
image

Does it will be removed in future?

@AathifMahir
Copy link

Looking forward for native splash screen support added to WinUI 3, Splash Screen Like UWP does really makes a difference in User Experience

@CAKCy
Copy link

CAKCy commented May 10, 2022

Why does it feel that with every new development platform Microsoft comes up with, things are going backwards? No splash screen, no XAML designer, right click text box crashing bug for more than a year, no topmost window etc. etc. What have we done to deserve Microsoft's "punishment"? :/

@castorix
Copy link

Looking forward for native splash screen support added to WinUI 3, Splash Screen Like UWP does really makes a difference in User Experience

A Splash Screen is very simple to implement
I posted a basic sample with a Layered window in another thread #6942
You can improve it...

@michelkommers
Copy link

michelkommers commented May 25, 2022

I will add my 'thoughts' on this, using .Net MUAI with Blazor, splash screen becomes more important than before, because we have a lot of weird 'flashs' when the app is starting, we have some forecolor that flashs, than the white from the html page, than the 'background' of the page when the css loads, and only than we have the loading message inside the blazor... It may make sense in a dev perspective, but looking with the user point of view....., its really bizare.

With a splashscreen that loads all that in background and blazor signal back that everything is ready and the splashscreen fades out would be awesome.

@veikkoeeva
Copy link

veikkoeeva commented Jul 9, 2022

Second to @michelkommers. For those coming later here from the linked Maui threads, I took a look at example provided by @castorix (thanks!), but at least for me it's not clear how to make use of it in a Maui app. Probably there's a way.

<edit>Maybe possible using https://github.com/dotMorten/WinUIEx/blob/main/docs/concepts/Splashscreen.md </edit>.

kuva
kuva

@Qws
Copy link

Qws commented Aug 29, 2022

I made a MAUI app, the Android version has a default splashscreen, but when I click on the Windows version, nothing happens for 3-5 whole seconds. There is no feedback of the app loading, sometimes you click again, just to make sure the app is really loading. And sudenly the app pops up out of nowhere.

This really reminds me of the Windows XP user experience. I guess that's what I can expect from Win32 powered application...

But honestly, in modern time, it needs modern user experience. Not the Windows XP and Vista user experience.

Splashscreen should be the default option, not the otherway around... honestly, there is really no reason not to have a splashscreen for apps.

Worst of all, UWP (WinUI2) has build-in splashscreen...... why would WinUI3 not have splashscreen. I feel like WinUI3 is going backwards in time.

@Laftek
Copy link

Laftek commented Sep 8, 2022

This is important!

@AathifMahir
Copy link

Exactly, Splash Screen is Must for WinUI 3 for better user experience and consistency sake, Currently many apps that uses WinUI 3 does implement custom splash screen that causes inconsistency between each different apps since many WinUI 3 Apps Uses Different Design and Different Implementation for Splash Screen.

In my case, on my DotNet Maui App. I developed a custom splash screen to complement the User experience by Using Same UWP Splash Screen Design Language but that differs from Other Implementations, Therefore having a native splash screen is a must on my case

@breenbob
Copy link

breenbob commented Nov 17, 2022

Same as @Qws I get a black screen for a few seconds when my app is loading.

How does something so fundamental and open for almost 2 years now not even have a priority or milestone assigned yet?

As mentioned there is a UI for setting splash screen resources in Visual Studio that creates assets fine as with UWP, but they simply never show. Same with Maui Splash functionality.

.Net Maui documentation doesn't even list it as a limitation, it just covers how to implement on Android/iOS.

Is this being taken seriously?

@Laftek
Copy link

Laftek commented Nov 17, 2022

Best part is that Asignee is not even working for microsoft for some time…. Its sad how some fundamental functions are being neglected (also MAUI).

@Laftek
Copy link

Laftek commented Nov 17, 2022

You are right, all kudos to the team MAUI and ASP.NET but as you mentioned lack of manpower is taking its price. I have big expectations for .NET8 tough! I think it will be gamechanger (kinda).

@Reza-Noei
Copy link

Any update on this ???
I don't wanna to re-invent the wheel.

@mklemarczyk
Copy link

We have end of 2023 soon, and WinUI does not support well SplashScreen or XAML Designer.
Any updates on the subject in this ticket?

@duncanmacmichael duncanmacmichael added the bug Something isn't working label Nov 3, 2023
@gmgallo
Copy link

gmgallo commented Dec 19, 2023

Maybe the TemplateStudio guys can come to the rescue?

@bpulliam bpulliam removed the bug Something isn't working label Jan 22, 2024
@GuidoNeele
Copy link

Any updates? This issue is open for 3 years.

@AliShahesmaeili
Copy link

Any updates? This issue is open for 4 years.

@GuidoNeele
Copy link

I used this by @castorix as inspiration to add our own splash screen.
We are using .NET MAUI on Windows and the startup time is super slow, you really need a splash screen to show the user something is happening.

@gmgallo
Copy link

gmgallo commented Apr 12, 2024

Check WinUIEx @dotMorten has a splash window for WinUI 3 in there and I think he may have something for MAUI.

@legistek
Copy link

legistek commented May 8, 2024

I guess we'd better keep posting so the bot doesn't close it.

After a full day of trial and error and a ridiculous amount of Win32 interop, I finally managed to make a splash screen that was properly centered, didn't flash white before being displayed, etc.

While I appreciate community efforts such as @dotMorten's, if this isn't part of the framework then I wanted to know how to do it myself. In fact successful community and self-help efforts only underscore how inexplicable it is to omit this from the framework.

The splash screen is literally the first thing our users will see when they launch. (Ever hear that thing about first impressions?) Show me a Microsoft app (other than those built into Windows) that doesn't have a splash screen. For that matter show me a single retail Windows application by anyone that doesn't have a splash screen.

The lack of something this ubiquitous in the main framework is, to me, a sign of a bigger problem.

@NeerajGulia
Copy link

After a full day of trial and error and a ridiculous amount of Win32 interop, I finally managed to make a splash screen that was properly centered, didn't flash white before being displayed, etc.

Would you like to share so that other people could also implement it.
Thanks in advance!

@legistek
Copy link

legistek commented May 9, 2024

Oh I figured the one in WinUIEx was as good if not better. I just wanted to learn for myself how to do it from scratch. It's quite a lot of code in different places and not really self-contained. It's basically how I'd have done it 30 years ago, except in C#.

I will say one very tricky part was avoiding the white flash because the moronic default window will WM_PAINT itself white before it draws anything else no matter what you do. So I had to start with a transparent window using https://github.com/cnbluefire/WinUI3TransparentBackground which includes hooking into WndProc to override the moronic default behavior. But again I think WinUIEx is basically doing the same thing so I'd just look at his code and not my fingerpainting as the reference.

@jamers99
Copy link

@marb2000 it's been nearly 5 years. This experience is a significant downgrade from UWP. Is there anything that we can do to get our app up faster in an elegant way?

@dotMorten
Copy link
Contributor

@jamers99 did you look at the new AoT feature? It specifically addresses start up time.
On a side note, a splash screen might make your app appear to start up faster (which could be beneficial for percieved performance), but the actual app would only get slower, since it now has to do a splashscreen first.

@legistek
Copy link

which could be beneficial for percieved performance

How about beneficial for perceived professionalism? Name me a single major commercial consumer-facing Windows application without a splash screen. There was a time when Microsoft cared about empowering its Windows developer community to make quality professional looking applications. But those days passed long ago.

@mklemarczyk
Copy link

mklemarczyk commented Oct 3, 2024

@jamers99 did you look at the new AoT feature? It specifically addresses start up time. On a side note, a splash screen might make your app appear to start up faster (which could be beneficial for percieved performance), but the actual app would only get slower, since it now has to do a splashscreen first.

It will get only slower if you do some complex computation for splashscreen. As long I checked out to draw a frame on the screen it takes less than 1/60 of a second. Only extra time is loading the asset that can be optimized and restricted to avoid additional load on the application loading.

If you requite technical knowledge or support you can just ask the community. I can provide some ideas / examples how to approach the splash screen for WinUI 3.

@mklemarczyk
Copy link

Any update with regards to roadmap for new year ?

@weezard12
Copy link

Any updates? This issue is open for 5 years.

@legistek
Copy link

Aren't we about due for WinUI3 to be deprecated and yet another newer, buggier, and less featureful Windows development framework to be introduced?

@dotMorten
Copy link
Contributor

@weezard12 for what it’s worth WinUIEx can do it for you until the SDK supports it : https://dotmorten.github.io/WinUIEx/concepts/Splashscreen.html#simplesplashscreen

@mklemarczyk
Copy link

mklemarczyk commented Feb 15, 2025

@weezard12 I would say the new update is to still use UWP. They just released support for .NET 9 in UWP and splash screen in "new" version works better than non existing one for WinUI3. I think UWP will stick for a little while if Microsoft want it or not, the gap for WinUI 3 is still far too big. And now we can use .NET Native AOT, where I have no idea if they finally delivered it for WInUI 3.

For context, tooling for UWP was out-of-service since December 13, 2022. So it took some time to release new tooling for UWP. 🥇 One thing though, it also does not have a designer now. 😢

@weezard12
Copy link

@dotMorten @mklemarczyk Thank you for the advice,
I was able to figure out that I can use WinUIEx for the splash screen on Windows for my MAUI application.
Since it's such an old issue that many have struggled with, I wanted to know if there are other methods or updates with the topic.

I use WPF and MAUI but didn't heard a lot on UWP so I will check it out.
Again, thanks for the advice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
appModel-win32 Exclusive to WinUI 3 Win32 Desktop apps feature proposal New feature proposal product-winui3 WinUI 3 issues
Projects
None yet
Development

No branches or pull requests