Jump to content
LaunchBox Community Forums

Launchbox UI feels clunky and unresponsive


Nixx

Recommended Posts

Ok, so first thing first. I love launchbox, i'm not here to denigrate the quality of your work. Your app is great and i use it all the time.
I'm not posting here to spit on your work, and the clickbait title is mostly here to draw your attention.
Also, i'm using currently an outdated version of launchbox the 13.3, my premium licence is expired, i didn't won the lottery and i don't have money to upgrade to lifetime for the moment, so maybe some of the issue i'm talking here are fixed now.

I'm no way an expert, but i just want to point out some things that seems to me weird behavior of your program.

1- Lauchbox / Bigbox make unnecessary xml writing each time it close

Bigbox make new save of Playlist and Plateform time, each time you close. (But, it's not an issue with Launchbox)
In bigbox, if i go into a playlist and browse game, on close, it will regenerate a new playlist xml file. Why ? I didn't change anything in the library, so that feels totaly unnecessary
Like, if i do that and i close
https://youtu.be/puCQicbiPyQ

Those files are gonna be updated on Bigbox close
Data\Platforms\Nintendo Game Boy.xml
Data\Playlists\Nintendo Game Boy All Games.xml

Also, lots of files in the LaunchBox\Data root folder get updated : (GameControllers.xml, InputBindings.xml, ListCache.xml, Platforms.xml, Settings.xml, BigBoxSettings.xml)

If i use Launchbox instead of BigBox, strangely, the playlist do not get updated but that happen to the Plateform xmls, and some xml files in the root of the Data folder

Why ? I'm just browsing, i did not change anything in the library, i didn't change my config so it should not have any valid reason to rewrite those files.

So, yeah, writing two files is not gonna take much time, but the reason i'm pointing this will make more sense in my second point.

2- The backup option is badly written

image.thumb.png.a34781c59493620f3bb01302e8004fe1.png

With this option on, a backup is made every time launchbox is started and every time launchbox is close. Even if you do not change with your playlist, configuration or plateform !
With this option disabled, and i close launchbox, the process disapear from my task manager in less than 3 sec. With this option on, it disappear in 11 sec !
There is an huge quality of life improvement to make here ! 
Save should be only done when there is something new to save.
If xml files where only written if there something relevant to write (so that why i did my first point), and save only done where there is something new to save, that would lead to a real improvement here.
(Also, incremental saves with full save only done like once a week could be nice)

3- Browsing library in launchbox feels slow

Now, i don't know the secret sauce about how launchbox does it things and if improvement could be made here, but i want to point out some strange things i noticed.
If i load my entiere Nintendo Library, it take 2 seconds to load.

But if i monitor the process with Sysinternals System Monitor, i notice something that feels strange to me.

image.thumb.png.9e3e7d81fa63759fdd463962c00dedda.png

Here i have like nearly one sec that are used to do stuff with fonts. Seems like a lot of time to me. Is there something wrong here ?
I'm no expert, but i suppose there is something to do here, and probably shorten the loading time.

Also, bellow, why does launchbox try to access to one of my file in my library ? I mean, that does not take time, ok, but if it was a network drive, that will. And i don't really see the point.

An other thing, if i uncheck everything in
image.thumb.png.07b7666373170dd75d53f6d4dd9ddc35.png

I get a slight loading time boost.
That made me wondering, does the platform details get loaded in the same thread that the library data ?
If so, maybe the app should show the list of game first and give the ability to the user to browse it and then load and display plateform data ?

Also, an other thing that come to my mind is : Can you manage a way to abord loading when we click on an other library ?

If that could be done, it will make navigation beetween playlist and plateform much more enjoyable, often when i browse i missclick or go to an other library without waiting.

4- In BigBox Themes, things like Title and Game main image should be updated During selection and not Once selected.
Well, that's maybe debatable, but for me, it's night and day, i did the change using the community editor but i guess that not something the majority of the userbase can do.
image.thumb.png.35239ee1a49994203f3cb540bd71dc6a.png

So, this is the default theme

 

You notice that if you want anything to appear on the right, you have to wait few seconds while a game is selected.

It all break down to personal opinion, but that how it appear after i edited a theme to keep some of the text and image show while selected.

For me, it's just better to have title and image show up during selection and do not have to wait.
But the process to do that is complicated, there should be some option available to end users to get the same result.

 

 

Edited by Nixx
Link to comment
Share on other sites

I get at what you're trying to convey but I will say most of these points are things done intentionally and for good reason.

1) This I'd have to look into but I believe since playing changes the data model for the game (because Play Count, Last Played, and Play Time are updated) both the platform the game is apart of needs saved and that call may be saving the playlists associated with that game (that's the part I'd have to confirm).

2) This point was done not entirely for the technical aspect but to address the human element. The backup process as it stands is simple to understand and explain to basically anyone. If the feature is on it creates a backup at the time the app is launched, and one when it's closed. There are no boolean logic gates to try to explain (or to potentially break within the application). This also offers some data redundancy so that if one of the files goes bad for any reason the user doesn't lose all the data between that file and the last backup (which is a guaranteed data loss). Right now if one file goes bad there is a solid chance no data is lost, or that the data loss would be pretty insignificant compared to a solution where only a file was only created on data change. Regarding the time 8s of file operations really doesn't mean much on the tail end of the application. There are no windows displayed and to the average user the application has successfully closed. Most users wouldn't even realize that save event occurred and so are fine with the fact it takes additional time.

3) To address the first point the font load thing I'd assume is just WPF logic loading the font files required by the view. This isn't something we call ourselves and is handled by the runtimes. I'm a bit confused by the second point simply because you're effectively asking for the same thing you are criticizing in the 4th point. To delay or offload the data load event of a selected game or platforms so that another selection can be made before the UI locks loading the data.

4) As stated above this is to allow the quick navigation between items. Without this logic many times you are starting a load process of a title you aren't actually going to stop on. This delay ensures navigation is speedy in the UI and a load event doesn't occur needlessly causing the UI to lock as items are loaded to it. If you know your machine is beefy enough that this isn't a huge concern then you can use the different binding and deal with the negatives that entails since they are reduced for you. We have to support a wider audience though and so want to ensure the default option is the best option for the large majority of our userbase and so play it safer with the logic you see in the UI now.

What most of the items come down to a min/max mindset trying to be applied to a commercial product. While in a perfect world you'd be able to deliver that, in reality it's frankly not feasible to pull off do to money or time constraints. I'm not saying there aren't plenty of opportunities to improve LaunchBox and Big Box, and there are quite a few things you could have pointed out that I'd agree need looked into and corrected but I'm not sure these points are one's that would be in our (or the communities) best interest to devote a lot of dedicated time to. If we can address them while working in parallel on another item we'd love to take a look, but I'm not sure we could block other items for these changes at the moment. Not because we don't care, but because we just don't have the resources to devote to something most people really aren't even aware is happening. That being said I do appreciate you taking the time to voice your concerns. It's nice to understand what's on the community's mind and where they think the product could be improved.

Link to comment
Share on other sites

Thank you very much for your detailed answer.

1 & 2) For point 1 and 2, for me it all breakdown to this windows that appear for me way too often. For me it's annoying to the point i have to disable the backup.
image.png.95e487f17b07723d247484ed6d5f85f8.png
 

3) Could be worth it to get a look to this "font" issue, maybe there is a way to load from memory and that would drastically reduce the loading time ?
"you're effectively asking for the same thing you are criticizing in the 4th point. " No, i'm really not. When i'm browsing my game like in my point 4, what matter to me is to quickly find a game i want to play, having the image show up help me with that. But when i'm clicking on a plateform/playlist on launchbox, what matter to me, is that my list of game load quick. If the platform details get in the way, that's really not a problem if it get loaded after the list is up. Probably not much to gain here though, like few ms at best, but that's always good to take. Also, for a frenetic clicker like me, the cancel loading would be something really nice.

4) I understand your point, but i do still think that give the users some ability to alter this behavior would be a worth the time investment. Like i said, i don't personally care, i can edit a theme with the Community Editor, but that's not something most end users would do.
Something like just a option to adjust the selection delay (and maybe an other one to adjust the video delay to avoid it to show up if we reduce the selection delay too much) could be a nice improvement.

Quote

What most of the items come down to a min/max mindset trying to be applied to a commercial product. While in a perfect world you'd be able to deliver that, in reality it's frankly not feasible to pull off do to money or time constraints. I'm not saying there aren't plenty of opportunities to improve LaunchBox and Big Box, and there are quite a few things you could have pointed out that I'd agree need looked into and corrected but I'm not sure these points are one's that would be in our (or the communities) best interest to devote a lot of dedicated time to. If we can address them while working in parallel on another item we'd love to take a look, but I'm not sure we could block other items for these changes at the moment. Not because we don't care, but because we just don't have the resources to devote to something most people really aren't even aware is happening. That being said I do appreciate you taking the time to voice your concerns. It's nice to understand what's on the community's mind and where they think the product could be improved.

Sure, i understand totally.
But i do things some of the point are worth taking a look. Personally, I would gladly take performance improvement of a feature that i'm constantly using over a new feature.

Edited by Nixx
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...