Jump to content
LaunchBox Community Forums

LaunchBox slow performance.


SentaiBrad

Recommended Posts

Now, I am just assuming my issue is because I have such a large library (7867 items right now without adding DOS) so I am just trying to narrow down if that is it or not. When I go to edit an entry for a game it takes a while to load the data for it and LaunchBox "stops responding" and recovers and the task is completed. Deleting, adding details, searching on GamesDB and changing pictures. Also, pictures don't take and I have to edit the entry again, so far clicking on it then save adds the cover on? It's odd... the entire folder hierarchy isn't read-only and there is permissions on it all so Im confused about the images... Also, I have such a huge library because of a duplicate issue I had, which I am fixing on the Explorer side but there is no easy way to remove old entries from the program. The option to remove images for items no longer there works but it doesn't remove the actual entry, any solution to that? Either way, even with my oddly specific problems this is still a one of a kind program for games. Edit: Oh, and using the 4GB ram patch on it doesn't make it go any more smoothly. :P
Link to comment
Share on other sites

  • Replies 49
  • Created
  • Last Reply

Top Posters In This Topic

Hey Brad, thanks for those details. Yes, I expect performance when editing games mostly has to do with having such a large library. There's always performance improvements I can make; I'll add a to do to see if I can speed that stuff up. I've seen the picture issue before as well, but I've had trouble replicating it. It seems to pop up randomly out of the blue. If you can see any kind of pattern behind it, let me know. I'll add a to do item to add an option to remove games with missing application files as well. Thanks, Jason
Link to comment
Share on other sites

As far as I can tell, its random. Sometimes the picture will show up after I edit it the first time, other times it just doesn't. I have a feeling it has to do with the lag, but without being able to remove entries in LaunchBox with missing files, I wont be able to get that number down anytime soon because it will be a lot of manual deletion... which also is slower cause of lag. :P Actually, I may just re-import everything. That would honestly be faster. I'll have to use the filter option when importing files though, because that was part of the problem. Do I import and set one filter, then import again with a different filter, because I tried using multiple filters; i.e. *.iso, *.bin, *.img but that didn't work. Edit: Also just to document everything more, the lag is still very present when sorting and filtering the library. Edit 2: Hm... that's strange... I just edited a game entry's name and the picture it already had disappeared. Just the cover picture was removed, fan art and the background was still there, and in fact it didn't delete the image it only "hid" it. Editing the entry still shows the cover image. That is the case with every cover art issue I've had. Simply editing again but doing nothing in the way of editing info, just saving it makes the picture reappear. Still think its the size of my library. I also have a question about the program and this is coming from someone who doesn't write code or programs, but I am still extremely techy and tech savy. That said, I assume the program is 32bit, have you thought about creating an alternative 64bit package? I know some emulators are going in the way of 64bit only as it means the system has a certain minimum requirement. Obviously only going 64bit is a choice they make for performance and wouldn't be a good idea here. That said, a 64bit option would (I think) allow for the program to take ahold of more resources. I did apply a 4GB patch to the program, but that did nothing at all. I assume because the program its self has a lower internal regulator? So even if you apply a 4GB patch, it still knows how much ram it could use at max? Again, speculation on my part as to why a 4GB patch didn't work. I apply that patch to games all the time and it makes them run so much more smoothly. 64bit offerings could be made for people with way too big of a library like myself or power users. Hell, just roms alone without one system and without DOS I reached almost 8k items. With steam, DOS and the other system I omitted I would be close to 10k items. Sorry for the long post. :P I really like this program a lot and I want to help in any way I can, even if that is just talking.
Link to comment
Share on other sites

Jason, could you split it up into sectors, on a per-platform basis, so LaunchBox doesn't try to handle large libraries (all platforms) all at once? SentaiBrad, a work-around that may be worth considering if it is really causing you problems, could be to have an instance of LaunchBox for each platform and one main "Launcher" instance which links to each "Platform" instance. Then use scripts to close the instance that is not in focus (using LB's additional apps feature). Does that make sense? example
Link to comment
Share on other sites

So I've been working for the past several hours at reducing my library. Getting it down there, reduced it to about ~5500 or so still before DOS, ScummVM and Steam. I do have a few notes for usability. Multiple filters. When importing roms you can only use one filter at any given time. I would say drop the use of * and the ability to use multiple extensions. Like: .bin, .smd, .md. Same thing even if you do keep *. Better Emulator support systems overall. So when importing roms you can choose an emulator from a list of emulators. There is an inherent problem if you have one emulator that emulates multiple systems. LaunchBox only recognizes one default System at a time and one set of commands at a time. Considering these emulators can do multiple systems in one and some require commands to run properly with being run from an outside program, being able to store multiple configs for one emulator seems like a good idea. For example, I am sure I can copy an emulator to different folders and or select it again and create a different save name for it i.e. Kega Fusion GameGear, Kega Fusion Master System, Kega Fusion Genesis but that seems more annoying then it needs to be. I personally think console commands in this case could be saved to which console is needed. Say for example there was an under Tools that let you edit your list of emulators. In there you can add to that list and then from there choose to change settings for each emulator. Then from there, in this case Kega Fusion, you can set that it is the default emulator for multiple systems and then set command line parameters based on each of the defaults. So the commands only apply to one system at a time and not the program as a whole? So when you launch a Genesis game it launches the emulator with the correct Genesis specific / related commands and if you launch a Master System game it does the same but for the Master System. Also, the importing function doesn't really work for DOS and ScummVM games, is there a way to get a scanning feature like D-Fend Reloaded or ScummVM in the same way they do? Thats all I can think of right now... @bd00 Sorry, was writing this post as you made one too. :P That does make sense, but completely defeats the whole purpose of the program. A similar program would be XBMC. The only seperating it does is from Movies, TV Shows, Music etc, but it does that within the program without any scripting, its just natural. In this case, splitting it up from system to system is a smart idea but then what do you do when you want to look at one genre? Or one Developer? You then have to program in that every filter essentially only shows what you want to see (assuming your data is correct on everything) and block out the rest. That should give a performance boost but I think would be a nightmare to code in for all the different filters. Even then, XBMC also still shows a giant list to me and doesn't lag that bad on this system. Honestly, the lag is there weather I am deleting one entry or 1000 entries. It's there if I am editing an entry etc etc. I would still rather deal with that then using scripts and creating instances. Because a lot of time I will sort by platform, but even more than that I like to sort by Genre entirely.
Link to comment
Share on other sites

SentaiBrad, you're absolutely right and I realize it is not ideal, but I was just suggesting a work-around until LaunchBox better manages circumstances like yours. Wink As for the multiple platforms for an emulator, I just add a new emulator in LaunchBox for the extra platform(s), but link it to the same emulator (no need to create multiple instances of the emulator) and just name it differently and add the platform specific commands to that entry. For example, Fusion: Genesis Add emulator in LB, name it Fusion (GEN), link to Fusion.exe, add GEN commands, make default for Sega Genesis. Master System Add emulator in LB, name it Fusion (SMS), Link to Fusion.exe (same one as above), add SMS commands, make default for Master System. 32x etc. etc. So you are using the same emulator, but separating the platforms in LaunchBox. Hope this helps.
Link to comment
Share on other sites

bd00 said SentaiBrad, you're absolutely right and I realize it is not ideal, but I was just suggesting a work-around until LaunchBox better manages circumstances like yours. Wink As for the multiple platforms for an emulator, I just add a new emulator in LaunchBox for the extra platform(s), but link it to the same emulator (no need to create multiple instances of the emulator) and just name it differently and add the platform specific commands to that entry. For example, Fusion: Genesis Add emulator in LB, name it Fusion (GEN), link to Fusion.exe, add GEN commands, make default for Sega Genesis. Master System Add emulator in LB, name it Fusion (SMS), Link to Fusion.exe (same one as above), add SMS commands, make default for Master System. 32x etc. etc. So you are using the same emulator, but separating the platforms in LaunchBox. Hope this helps.
Right, I thought that's what I could do, but haven't tried it yet. :P Even with the odd issues, this program is still one of a kind though so its really nice. :P
Link to comment
Share on other sites

Hmmm, I just started to add some more games to my library and I am having the same issue with the images not showing. But if I go back into edit they are there and when I cancel out of edit, they appear. Strange, because I never had this problem before. Maybe it is, like SentaiBrad said, due to the size of the library. I have not yet added my whole library to LaunchBox, this is mainly due to the fact I have just been testing it and partly because I was holding out for the collapsing platform ribbons. But since we just had a big release and a break from the beta's, I couldn't wait and decided I would start building. Only now has this issue surfaced...
Link to comment
Share on other sites

You can just call me Brad if you'd like. And yea, when you start getting in to the thousands of items for a library, you start to see areas which can be improved a lot. Right now the program is very much tailored to a smaller, more manageable amount of games. Even if I just added Steam games, which honestly would be pointless because of Steam its self :P, that would be close to 1100 games for myself. DOS is about 1200 games, so no matter how I slice it, even if I do section of the program and use scripts, chances are I will have these problems anyways. I am trying to go through and add the default emulator. It is odd that you have to edit a game to then edit the emulator list and even then, it doesn't save the selection for all the games even when I set the emulator to be the default for that entire system of games. I had to reimport 776 NES games for that to take effect. I was splitting Nestopia in to FDS and NES categories. I'm going to have a similar nightmare when I try to do Sega consoles next since Kega Fusion is 5 systems in one.
Link to comment
Share on other sites

Yeah, I agree regarding the way LB handles the emulators, definitely room for improvement there. I think I am quite lucky that I didn't add my whole library first, although it would of benefitted Jason during the beta stages if I had. I have took a different approach, I added one game from each platform, got all my emulators set-up, xpadder set-up and a few other bits-n-pieces, so now all I have to do is start importing the games and everything else is automatic. I added a few (full) platforms and have just noticed this issue. So I might wait a little longer for this to be addressed and i really want those collapsable ribbons and preferably a better (or more complete) scraper than thegamesdb. We just have to remember that Jason is very busy and that patience is a virtue Wink Also, I highly doubt this will work, but it might be worth a try; import a romset again (even though it is already in your library) and check the box for "Don't import games with the same title and platform as an existing game" and see if it updates the default emulator for all the other (already imported) titles.
Link to comment
Share on other sites

So, I was playing around with the default emulator settings. I was changing them by reimporting them (that's the only way it categorically sets one system to an emulator I saw) and... well I found something interesting. Master System and Genesis are both pointing to the same emulator entry, Kega Fusion 3.64, and both open just fine without any commands. Sega CD is set to Kega Fusion [Sega CD], but the same emulator and no commands, opens just fine. So, so far, as long as when you import a system as far as I can tell, set the emulator to be that systems default. Import the next system that uses the same emulator, change what its the default to this time as well. So, it sets the category its doing at that time to all default to opening that one emulator but you change the system so that it can set the default on each import. My point really though... I don't have to set -sms or -gen or anything. I have the post open so I could do that... and I forgot to do it, so that's why I checked. Obviously if you want it full screen you should still do that but I didn't have to specify the first -gen and -auto... it just worked. This all still reaffirms my thought of being able to more easily edit emulators, what they open and separate commands for each one... in case you need them. Just an odd thing I found... though that could just be KEGA Fusion. The only other one I can test is Nestopia with NES and FDS games. Again... sorry If I am typing too much. I am just trying to document what happens for me. Edit: we gotta stop posting at the same time ;) If you uncheck "Don't import...." then I have a feeling it will just make duplicates of each item. I'll test it with my Gamegear set since its really small.
Link to comment
Share on other sites

Yea, unchecking that first box during import just created duplicates of everything with the separate emulator entry instead. You should still create a separate entry for the same emulator for different systems regardless. That way the default setting is "proper" for the program. There still isn't an easy way to change command line commands even if you separate the emulator listings. And yea, I get its a waiting game. He is one person after all and If I knew the program was in beta earlier, I would have tried to break it quicker. Actually funny fact, I did try using it several months ago as just a DOS front-end replacement and stopped because importing single DOS games sucked, and TheGamesDB info on DOS games was horrible and me adding the DOS entries for the site was taking for ever. I am here now to try and document what I do. I am trying to do this so I can see my entire system at a glance, see different versions of games etc etc. All in the name of making my job easier on YouTube. I do videos and I think this will help me sort my system. :P
Link to comment
Share on other sites

Yeah, fusion doesn't "need" the -gen -sms etc. commands, it is capable of detecting these for itself. However, it sometimes cannot. It is best practice to use those commands for any problem roms it may encounter. The -auto is for the region (u/e/j) and if all your roms are from the same region you are actually better using that regions command rather than -auto. Sorry, I meant leave it checked, so you don't get duplicates Kiss I don't know if you are a beta tester, but the latest beta just released had some new dos import features and I am sure Jason would love for you to test them and share your opinions. I wouldn't say LB was in beta stages, but it is still evolving like most program's do and I think it's future is both bright and exciting. What kind of videos do you do?
Link to comment
Share on other sites

Woah, big conversation here! I do appreciate all the feedback, Brad and bd. :) Regarding filters, yes, you'll need to do multiple imports to cover multiple extensions for the moment. With the pictures, the issue is somehow with the caching. I have a cache in place in order to make the games view performant, and it sounds like in large libraries the timing causes problems somehow. It's good to know that it happens mainly with larger libraries. This is the biggest glitch I know about right now, so I'll focus on it for this next release. As per 64-bit, the app is written for the .NET framework, and targets both 32-bit and 64-bit platforms, individually. This is hard to explain, but depending on which version of the .NET framework you're running (32-bit or 64-bit), the app should run under that model. It's not really that simple, and I don't really understand all the aspects of it, but the .NET framework does do a good job of handling it all behind the scenes. So, unfortunately, I think we're already seeing the benefits of 64-bit (or any that we could see in using the .NET framework). Gonna go through the rest of the feedback as well, but I'll divide it up into more posts. I'll say this first though: I'm glad to have you on board here, Brad. Honestly the best thing you can do for LaunchBox right now is to advertise for it however you can; I'm still working on getting it out to as many people as possible. Also, we should get you in on the beta testing thread.
Link to comment
Share on other sites

So, back to performance. There are things I can do in the code to speed it up, for sure. So I'll attempt to tackle that first to see how much I can speed up the populating after filtering/sorting. There are a bunch of other things to look into performance-wise, plenty to do there, for sure. For instance, I'm using XML for all the data. I chose to do it this way for flexibility (easy to write your own import, etc.), but it's obviously not the fastest way to do things; a database would be faster. It's all about spending the time to address the slow points in the code and thinking about how to speed them up. I'll devote some time to this soon. Imports for DOS and ScummVM games might be tough. I'm open to hearing ideas on how to implement these. Let's start a new thread for that though (would be better to discuss individual things on individual threads I think). Emulators, yeah, I can see the benefits of all that. I still have a main goal of keeping it all as simple as possible, but there should be a way to apply an emulator to a group of games, etc. Noted. That said, if you update the command line settings for a particular emulator, it will apply to every game assigned to that emulator. Even though you access the emulators from within the games (which I will be changing, btw), they are still separate in and of themselves, and not specific to each and every game.
Link to comment
Share on other sites

@Jason Thanks for taking the time to read all of that. :P I am sure I will find more stuff and keep posting about it for sure. I will also try and make separate threads for it all if you'd like. W should also think about getting a wiki page for the program. If we already have one can I see the link for it? @bd00 I am not a beta tester and I wouldn't mind being one either. I don't think LaunchBox is a beta program... but I do at the same time? It has quite a few features as it is. It certainly is a benefit to big libraries. At the same time, with a big library you get some odd glitching and slowdown, as well it doesn't handle everything idealy. Though, saying that, not a lot of programs or games do either and worse off programs and games get released and require payment... so. That's another reason I don't think its in beta. Steam and MMOs have made what you classify Alpha, Beta or Released even harder... so screw that. :P I do lots of videos. I mainly started off doing video game related things, Lets Plays mostly. But I am starting to develop that further. I started a new show called First Look, taking random games I don't want to LP and just showing them off. I want to start on doing Reviews and I want to start a new series called Dos Box Files or The DosBox showing off cool DOS (And some ScummVM) games. You can click on the YT icon below my name to go there. Speaking of video too, I am thinking of doing one for LaunchBox. I have 517 subscribers but I don't get a consistent view count for some videos... so Im not sure how good that will do. Edit: I've also got my library count down by almost 2k entries. Its currently at 5305 without DOS, ScummVM or Steam. Though I am still debating if I want to even run Steam games through this... Also about the program... I wouldn't be able to tell if its detecting 64bit or 32bit easily because it doesn't install to program files. You should be able to test that on your end at least if you compile a package that installs to program files for you and see what it automatically picks. I keep finding things... :P and I don't know what to make a specific thread for... cause a lot of this is small stuffs. Sorting is off for Playstation for example... or anything that shares a name. When I filter down to Sony Playstation, it also includes Sony Playstation 2, but Playstation 2 only includes it. PS1 should only include it. There could be a general filter of say Sony, or Nintendo etc but not with a specific console I think.
Link to comment
Share on other sites

Thanks, Brad. Unfortunately the Program Files test doesn't really test whether an app is truly 64 bit. However, the app is already 64-bit when available, I am sure of that. Of course, I'd love it if you did a LaunchBox video. That'd be really great. Whether it gets a few hundred views or 10,000, it's a win. :) The filters just work off of a standard search, so yes, filtering to "Sony Playstation" picks up anything that has "Sony Playstation" in the title. It's just a simple text search for the moment. I worked on a number of things tonight; specifically the images bug. I'll have a beta up on the beta testing thread (https://www.launchbox-app.com/forum/features/launchbox-beta-testing/page-4) shortly. I also added you into the beta testing group. Thanks, Jason
Link to comment
Share on other sites

@Brad Lol, absolutely! Also, I will have to checkout your videos sometime. @Jason Could you add a field for platform abbreviations? This would be a simple fix for the issue stated above and will probably come in handy in the future.
Link to comment
Share on other sites

Awesome Brad. Bd, I would, but that feels more like a workaround than a decent fix. The are a few issues: - Searching for "PlayStation" would return PlayStation and PlayStation 2, etc. It's arguable whether that's a flaw or not, but I can see the confusion. - It'd be nice to be able to specify any common name for the platform (such as PS or PSone, etc.). I think in order to make that effective I'd have to use a relatively exhaustive list of platform names (which I actually do already have started, I use it for the search on TheGamesDB). Anyways, just some stuff to think about. We have some more pressing things to tackle first, of course.
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...