Jason Carr Posted November 27, 2018 Share Posted November 27, 2018 Hello all, I wanted to start some discussions surrounding startup and pause screens, which are my next major tasks to implement for LaunchBox and Big Box. I've done some studying as far as what is and is not possible for them, looked into Rocket Launcher, and I've made some discoveries that I believe warrant some discussion. First off, I've discovered that there are two features that are impossible to implement for emulators that use exclusive fullscreen mode: Fading into and out of the game Bezels The advantage of exclusive fullscreen mode for emulators and games is primarily performance. In theory, performance should be at least slightly better in exclusive fullscreen mode than windowed mode, and will also likely result in less input lag. For those reasons, exclusive fullscreen mode is usually recommended for playing games, so without exclusive fullscreen mode support, features like fading and bezels seem to be lacking. Rocket Launcher gets around this issue by simply ensuring that all emulators are played in windowed mode, and the windowed bits are either off-screen or covered up by a bezel. This does work well (when it works and isn't broken by an emulator update), but can be immensely complicated because every single emulator (or Windows game for that matter) requires its own script, code, and settings, which is one reason why Rocket Launcher can be so complicated. And, of course, this means that if you use Rocket Launcher with fade screens and/or bezels, you're not using exclusive fullscreen mode, and thus not getting maximum performance. I do want to note that while it's not possible to fade into exclusive fullscreen mode games, it *is* possible and relatively easy to hide the window that pops up during the loading process, for the emulators that show the window during load. So the process can certainly be made smooth, sans for the actual fading into and out of the games. So now knowing all of that, here are my questions that are up for discussion: How important is it to you for the startup screen to fade into the game? Is it worth the performance sacrifice to you while playing the game? How important is it to you to use bezels? Are they worth the performance sacrifice to you? What features are you most looking for with startup screens? What features are you most looking for with pause screens? My current thoughts are in line with our typical development strategies; I want to create software that works out of the box, is easy to use, and doesn't break with new emulators that come out. For that reason, I'm thinking that we'll at least start by creating startup and pause screens without the fading and bezels features, as I can make these features work very well out of the box with no necessary tweaking. Then, potentially in the future we can come back and tackle fades and/or bezels, under the assumption that they do affect performance and can be hairy to manage. However, if we receive lots of negative feedback on this approach, I will re-evaluate. Finally, since I'm starting development on startup screens first, these are the features that I already plan to implement: Completely themeable using the same Big Box XAML theming engine (can be platform-specific) Support for all game videos and images, depending on the theme Much improved duplicate startup prevention Thank you all; let's discuss! 7 2 Link to comment Share on other sites More sharing options...
Mr. RetroLust Posted November 27, 2018 Share Posted November 27, 2018 Thanks for the explanation Jason, I really love bezels but if it eats too much performance it would take away the fun of playing a game. Here are my answers: How important is it to you for the startup screen to fade into the game? Is it worth the performance sacrifice to you while playing the game? Personally I don't need or use transitions or fades because of performance, but as long as it's an optional thing I'm all for it. How important is it to you to use bezels? Are they worth the performance sacrifice to you? Very important, but if it means stuttering games and input lag I won't use the feature. Mame and retroarch work very well but I guess thats because its build in if I understand correctly? What features are you most looking for with startup screens? No ideas on this What features are you most looking for with pause screens? Read manuals, browse the images scraped from launchbox database like instruction images, flyers and covers (Being able to zoom in on images to see some smaller details is something I really like to see), being able to play, skip, pause sound files like music or (arcade) ambience sound files. 2 Link to comment Share on other sites More sharing options...
Jason Carr Posted November 27, 2018 Author Share Posted November 27, 2018 4 minutes ago, Mr. RetroLust said: How important is it to you to use bezels? Are they worth the performance sacrifice to you? Very important, but if it means stuttering games and input lag I won't use the feature. Mame and retroarch work very well but I guess thats because its build in if I understand correctly? That is correct; if the bezels are implemented by the emulators themselves in the same process, then exclusive fullscreen mode can still be used and there is no performance degradation. The issue only comes into play when bezels are implement by Rocket Launcher or an outside application, because it requires the emulator to not be in exclusive fullscreen mode. Edit: It's also worth emphasizing that both MAME and Retroarch already have bezel support, so for many people that will already cover a majority of systems anyways, without any performance degradation, and it doesn't even require any further LaunchBox features. 2 Link to comment Share on other sites More sharing options...
angelobodetti Posted November 27, 2018 Share Posted November 27, 2018 Great news that you are working on bringing all of that into LaunchBox. I personally only use rocket launcher for fade, pause and bezel. I hate that I even use it all all because it’s overly complex and never gets updated. But it’s a necessary evil because of fade, pause and bezel. To me bezel isn’t very important because it changes the entire look of the game and arcade. It keeps things beatific from start to finish. Its obviously an opinion thing, but I would stick with rocket launcher if I can’t get bezels in LaunchBox. 2 Link to comment Share on other sites More sharing options...
angelobodetti Posted November 27, 2018 Share Posted November 27, 2018 1 minute ago, Jason Carr said: That is correct; if the bezels are implemented by the emulators themselves in the same process, then exclusive fullscreen mode can still be used and there is no performance degradation. The issue only comes into play when bezels are implement by Rocket Launcher or an outside application, because it requires the emulator to not be in exclusive fullscreen mode. I have no had any performance issues at all using rocket launcher and I have bezels setup for all 150 platforms over like 25 different emulators. Including PCSX2, Dolphin, and many others that don’t have native support. Link to comment Share on other sites More sharing options...
Pennywisekrueger Posted November 27, 2018 Share Posted November 27, 2018 Just my opinion but bezels suck - totally distracting and unauthentic. I was looking forward to the load screens but only in certain scenarios do I feel they are actually needed. A couple of examples - extracting zip files can take a while and some of the teknoparrot games take ages to load so it would be good to hide the command line box while this is happening. but....I wouldn’t want any of these features if it degrades performance. 2 Link to comment Share on other sites More sharing options...
Jason Carr Posted November 27, 2018 Author Share Posted November 27, 2018 Just now, angelobodetti said: I have no had any performance issues at all using rocket launcher and I have bezels setup for all 150 platforms over like 25 different emulators. Including PCSX2, Dolphin, and many others that don’t have native support. Let me clarify that using Rocket Launcher certainly does not introduce performance issues. All it does is make the emulators run in windowed mode, which while it *does* affect performance and input lag, you may or may not notice any kind of a difference. Link to comment Share on other sites More sharing options...
Jason Carr Posted November 27, 2018 Author Share Posted November 27, 2018 4 minutes ago, angelobodetti said: Great news that you are working on bringing all of that into LaunchBox. I personally only use rocket launcher for fade, pause and bezel. I hate that I even use it all all because it’s overly complex and never gets updated. But it’s a necessary evil because of fade, pause and bezel. To me bezel isn’t very important because it changes the entire look of the game and arcade. It keeps things beatific from start to finish. Its obviously an opinion thing, but I would stick with rocket launcher if I can’t get bezels in LaunchBox. I think you're contradicting yourself here, but I think I get what you're saying. Still, as bezels can be implemented using MAME and Retroarch, I would think that there's fairly few systems that actually need external support, right? Link to comment Share on other sites More sharing options...
horse Posted November 27, 2018 Share Posted November 27, 2018 bezels arer not really of a importance for any system after the 32bit generation psx, saturn etc, i do not use bezels at all i prefer a) native widescreen or b) a stretched image to cover the entire screen. start up sreens to mainly transition between launchbox/bigbox and actual start of game with possible info displayed while you wait for that to happen. a custom timer to allow users to fine tune for each system/emulator ... as everyones setup differs ssd/harddrive/network drive that timer will vary so a easy way to set it. pause screen - most consoles have a pause already builtin so i assume this is handy for arcade titles? not sure what to think of it. loading screen between transition of selecting game then waiting for emulator to load, load up say cache etc (ps3, wii u ) etc is more important to me and how i use launchbox 1 Link to comment Share on other sites More sharing options...
neil9000 Posted November 27, 2018 Share Posted November 27, 2018 Just now, Jason Carr said: Let me clarify that using Rocket Launcher certainly does not introduce performance issues. All it does is make the emulators run in windowed mode, which while it *does* affect performance and input lag, you may or may not notice any kind of a difference. Yeah, personally i dont notice a difference between windowed or full-screen myself, but i know others do. Its a personal choice one has to make. Link to comment Share on other sites More sharing options...
Jason Carr Posted November 27, 2018 Author Share Posted November 27, 2018 2 minutes ago, Pennywisekrueger said: Just my opinion but bezels suck - totally distracting and unauthentic. I was looking forward to the load screens but only in certain scenarios do I feel they are actually needed. A couple of examples - extracting zip files can take a while and some of the teknoparrot games take ages to load so it would be good to hide the command line box while this is happening. but....I wouldn’t want any of these features if it degrades performance. Good to know. One advantage of not doing fades is that it wouldn't likely increase startup time as much, and the game would pop up immediately when it's ready. 1 Link to comment Share on other sites More sharing options...
neil9000 Posted November 27, 2018 Share Posted November 27, 2018 Just now, horse said: pause screen - most consoles have a pause already builtin so i assume this is handy for arcade titles? not sure what to think of it. This is different, it would give you access to features like the game manual and such while the game is running, its not just a standard pause the game thing. Link to comment Share on other sites More sharing options...
angelobodetti Posted November 27, 2018 Share Posted November 27, 2018 1 minute ago, Jason Carr said: I think you're contradicting yourself here, but I think I get what you're saying. Still, as bezels can be implemented using MAME and Retroarch, I would think that there's fairly few systems that actually need external support, right? That was a typo. Bezel IS very important.l because it changes the look and feel of the entire arcade. 1 Link to comment Share on other sites More sharing options...
Lordmonkus Posted November 27, 2018 Share Posted November 27, 2018 The performance difference between exclusive and non exclusive fullscreen mode is extremely minimal but it does exist and non exclusive mode does introduce some amount of input lag compared to exclusive fullscreen mode. 1 Link to comment Share on other sites More sharing options...
angelobodetti Posted November 27, 2018 Share Posted November 27, 2018 2 minutes ago, neil9000 said: Yeah, personally i dont notice a difference between windowed or full-screen myself, but i know others do. Its a personal choice one has to make. Same, I’ve never had performance issues with or without bezel in or out of window mode. Link to comment Share on other sites More sharing options...
angelobodetti Posted November 27, 2018 Share Posted November 27, 2018 You’re going to get people who love and people who hate all of these features (particularly bezels). My opinion is that you should absolutely build the functionality which would please the people who want it and will use it. The ones who utensils it, simply won’t use that feature - which keeps them happy. Not building the functionality at all takes away personal choice and will disappoint half of the people. The only way to please everyone is to build Bezel, Fade and Pause functionality allowing people to use or not use those features how they please. Link to comment Share on other sites More sharing options...
Jason Carr Posted November 27, 2018 Author Share Posted November 27, 2018 2 minutes ago, Lordmonkus said: The performance difference between exclusive and non exclusive fullscreen mode is extremely minimal but it does exist and non exclusive mode does introduce some amount of input lag compared to exclusive fullscreen mode. It's also video card and driver specific. I did some Googling and found that some users have reported big performance drops when using windowed mode in Retroarch after some of the latest Windows updates. So it's supposed to work properly, but doesn't get as much performance tweaking love as fullscreen exclusive mode does by nVidia and/or AMD (or at least that's what I would assume). Link to comment Share on other sites More sharing options...
Jason Carr Posted November 27, 2018 Author Share Posted November 27, 2018 6 minutes ago, angelobodetti said: You’re going to get people who love and people who hate all of these features (particularly bezels). My opinion is that you should absolutely build the functionality which would please the people who want it and will use it. The ones who utensils it, simply won’t use that feature - which keeps them happy. Not building the functionality at all takes away personal choice and will disappoint half of the people. The only way to please everyone is to build Bezel, Fade and Pause functionality allowing people to use or not use those features how they please. I hear you, but I'm out to get an average of the thoughts of people here. One thing I've learned is that it's straight up impossible to please everyone; that just doesn't happen. So yes, we will aim to please everyone, but often times it's not worth developing something if the percentage of the people who are interested in it isn't high enough. Why would I develop feature X if *more* people want feature Y? It's all about priorities, not throwing everything into the mix, popular or not. Of course, Rocket Launcher already makes all of this possible, and there's nothing wrong with people choosing to continue to use it as well. My goal is mainly to gauge how many people find fades and *external* bezel support (outside of MAME and Retroarch) to be absolute requirements for the new startup screen features, to try and figure out if it's worth delaying the rest of the development. Either way, we may come back to those features at a later date. Link to comment Share on other sites More sharing options...
PanteraZombie Posted November 27, 2018 Share Posted November 27, 2018 (edited) I'm more looking forward to startup screens and pause menu. Bezels and fades aren't necessary to me, more of a nice option to have. For the startup screen, it would be nice to display the platform image with the current game selected logo. Along with the game details such as number of times played and/or last time played. Videos or animations would be great too. Pause menu, I would like to see a quick way to access a controller button layout image for that system... I.e. n64 button layout translation for my Xbox controller [maybe even have the ability to select it as the background of the pause menu]. Access to save states, manuals & artwork. Ability to view retroachievements for the game you're in. Would also love to be able to have the pause menu mappable to the Xbox home button, as that would be a nice global shortcut for that. Love all the progress launchbox/bigbox has been making, and even more excited about these new features coming! Thanks. Edited November 27, 2018 by PanteraZombie 2 Link to comment Share on other sites More sharing options...
Chlain Posted November 27, 2018 Share Posted November 27, 2018 I would love bezels. I'm not as interested in fades. I could never get bezels to work in retroarch. It was always tricky for me. Having it baked into launchbox or Bigbox would be great! 2 Link to comment Share on other sites More sharing options...
Recommended Posts