einsteinx2 / wiiflow-lite-einstein-mod

My customizations to WiiFlow Lite, at first focusing on polishing the UI and UX. Attempting to keep as much source compatibility as possible. Original repo here: https://sourceforge.net/projects/wiiflow-lite/
4 stars 1 forks source link

Bring the initialisation of "wait message" forwards - it's late onset leaves users frustrated #1

Closed kaisersozeh closed 6 years ago

kaisersozeh commented 6 years ago

The wait message can be several seconds from boot for some users - bring the initialisation of the wait message forward, to let these users know execution has begun.

einsteinx2 commented 6 years ago

So I looked into this and here's what I found:

  1. There's some memory initialization at the very beginning that takes about 400-500ms. We can't load anything before we do that, so that's our minimum time.
  2. Next it reloads the IOS to use IOS 58 which is needed for USB 2.0 support so we can't skip that, it takes about 2.5 seconds.
  3. Then it mounts the drives (takes about 500ms if there's a drive plugged in, or ~10 seconds if nothing is plugged in)
  4. NOW it shows the loading screen
  5. Finishes loading steps which take a few seconds

So I experimented with moving the loading screen to display earlier.

I found that I can put it before the drive mounting no problem since the images are baked into the binary, so no need to wait for that. That solves the issue of no loading screen while it waits to see if there's a USB drive, but still takes about 3 seconds before it displays.

So then I tried moving it before the IOS loading. That works, but the animation pauses for about a second during that loading which kind of looks like crap.

So what I'm thinking is to display the first frame before loading the IOS (that means about 500ms after boot which is as good as it's gonna get as is basically instant), then start animating it after the IOS loads so it doesn't start animating then freeze.

I'm working on getting that going now.

kaisersozeh commented 6 years ago

I was going to add an issue to the Q mod - but I might as well mention it here - if you're looking at improving the quality- how about making it 25% of the size and moving it from the center to the top right quadrant? Also staying on a 4:3 screen and an image distortion that prefers a 16:9 - the more common - screen.

einsteinx2 commented 6 years ago

Got it working! Loading screen now shows immediately, then starts animating after IOS reloads to prevent a stutter. Looking into whether I can skip IOS reloading if not needed (i.e. already on same IOS) to reduce load time and start animating immediately.

Also the loading screen now animates while looking for a USB drive rather than sitting on a black screen for 10 seconds.

Fixed in commit 3d34282d5607b55ea2b76697d3a6f11784fcd5ee