mathflair Posted October 5, 2015 Author Share Posted October 5, 2015 I've noticed in the past that when I edit a game or launch LaunchBox/BigBox that it will take up to 20 seconds. Now, I have been noticing that launching a game has also been taking a long time. I do have a large ROM collection (~17,000) items, but it seems extreme that it would take so long to launch a game. Quote Link to comment Share on other sites More sharing options...
Bil Posted October 5, 2015 Share Posted October 5, 2015 This also happens to me, as my collection is quite large as well. What I do is have five separate LaunchBox's, one for Arcade, Computer, Console, Handheld and Pinball. Depending on which LaunchBox I use, the times vary from 3 seconds to around 6 seconds now. (before it was around 15 seconds) Quote Link to comment Share on other sites More sharing options...
DOS76 Posted October 5, 2015 Share Posted October 5, 2015 @Bil I have been contemplating doing exactly what you described to my Launchbox setup to eliminate some of the clutter in the platform list and to lessen the load due to my almost 11,000 game library (- Mame Gamecube PS1 and Wii and a few others which I haven't gotten around to adding just yet) That or doing a Nintendo, Sega, Atari, Sony and Miscellaneous setup. As for slow game launch I started adding a few PS1 games today but I am loading the games from a Windows Home Server I have and its taking more than a minute to actually start the emulator so I am copying all the files to an external that I have for my computer in the hopes that this will improve performance. Quote Link to comment Share on other sites More sharing options...
mathflair Posted October 5, 2015 Author Share Posted October 5, 2015 I've already split my libraries. Still, this is an unnecessary delay, and I curious about what is being done to fix it. I understand that the emulator settings need to be grabbed and the game's application path, but in my own LaunchBoxTools I can grab that info in about a second, so it doesn't seem like LaunchBox should lockup like this. Quote Link to comment Share on other sites More sharing options...
bjwest Posted October 6, 2015 Share Posted October 6, 2015 Bil said What I do is have five separate LaunchBox's, one for Arcade, Computer, Console, Handheld and Pinball. Depending on which LaunchBox I use, the times vary from 3 seconds to around 6 seconds now. (before it was around 15 seconds) How did you set this up in terms of where on your PC do you download/install each LaunchBox? Quote Link to comment Share on other sites More sharing options...
Bil Posted October 6, 2015 Share Posted October 6, 2015 I have a LaunchBox folder and within that a folder for each LaunchBox library named -Arcade, Computer, Console, Handheld and Pinball. To make it easier to select which one I want to load, I also use Jumplist Extender - https://code.google.com/p/jumplist-extender Quote Link to comment Share on other sites More sharing options...
mathflair Posted October 6, 2015 Author Share Posted October 6, 2015 Interesting, the delay for launching games seems to be non-existent in Big Box. It looks like that code could just be ported over. Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted October 7, 2015 Share Posted October 7, 2015 Hey guys, bear in mind that this is near the top of my list, and I will tackle it soon, but let me speak on it a bit. The way LaunchBox currently works is it loads the entire XML file and saves the entire XML file all at once. There's currently no way to do partial saves or loads, which I do have on my list. Furthermore, in order to properly sync and allow LaunchBox to be running on several machines at once and have them sync without overwriting data, LaunchBox loads the entire XML file from disk before saving, every single time. This is no problem for typical game collections, but obviously doesn't work well when you have tens of thousands of games. Back when I built those pieces I never expected anyone to import every game for every platform known to man. ;) Big Box gets around this more easily partially because the vast majority of it is read only, but I also added some logic to save in the background so you don't notice it. This is more of a workaround than a true fix, though. The actual solution will involve several steps: - Launch games *before* loading and saving so they launch immediately (this is easy and will be done very soon) - Separate out the single XML file into several XML files for each data type, so that saving and loading is quicker (and possibly separate out platforms as well) - Instead of re-loading from disk for every save operation, use a file system watcher to detect when the XML file(s) change, and reload only when necessary So anyways, this isn't near as simple of an issue to tackle as it seems. Please bear with me; I'm hoping to wrap up the list view tonight and this will be the very next improvement to make. Quote Link to comment Share on other sites More sharing options...
mathflair Posted October 7, 2015 Author Share Posted October 7, 2015 The time is only really annoying during game launch, I can live with it happening for edits. @Jason Carr, what library are you using for XML? In my tool, I can load my library XML, make a change and save in 2-4 seconds total. I use XDocument. Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted October 7, 2015 Share Posted October 7, 2015 Switching up the library may be an option. I'm using .NET datasets, actually, which I'm sure are not the most performant. Quote Link to comment Share on other sites More sharing options...
mathflair Posted October 7, 2015 Author Share Posted October 7, 2015 There probably is a lot of overhead with DatSets, but maybe you need their features. I just use .NET's XElement and Linq. It is quite fast, but obviously I don't know all of your requirements. Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted October 7, 2015 Share Posted October 7, 2015 Yeah, there's nothing in them that I really need, but of course it would be a relatively big undertaking to replace it. That code is all isolated though so it wouldn't be horrible. I'd just have to be really careful with compatibility with previous XML file versions. As-is, the latest versions will load XML files all the way back to 1.0. Quote Link to comment Share on other sites More sharing options...
mathflair Posted October 7, 2015 Author Share Posted October 7, 2015 Xdocument is great and easy to use. It's only downside is it loads the while file into memory. I know a refectory is a big deal, but it might get you most of the speed you want with little other changes. If you want an example of using XDocument with LaunchBox data, feel free to take a look at the source for LaunchBox Tools. Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted October 7, 2015 Share Posted October 7, 2015 Sure, I'll take a look at it, hopefully soon. I just put out a new beta with the list view and a fix for the game startup times. Quote Link to comment Share on other sites More sharing options...
mathflair Posted October 7, 2015 Author Share Posted October 7, 2015 I can confirm that the new beta does fix the game startup time. Great work! Quote Link to comment Share on other sites More sharing options...
CoX Posted October 7, 2015 Share Posted October 7, 2015 I too had the same problem. I made a link in the games folder of Launchbox, imported it as a game in the relevant platform section and only imported my favorites. Then if i have to grab a game i can launch it from the folder of all the games instead. Sorry for off topic: Bil said I have a LaunchBox folder and within that a folder for each LaunchBox library named -Arcade, Computer, Console, Handheld and Pinball. To make it easier to select which one I want to load, I also use Jumplist Extender - https://code.google.com/p/jumplist-extender @Bil: i too have fs uae! incredible program - i launch fs uae arcade inside launchbox, works extremely well! (its an offline setup so i dl'ed a snapshot of images used for displaying the game from http://oagd.net/download! try it out its GREAT! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.