When you have multiple playlists and some of them are huge, XMB will halt on them.
Keeping the right direction pushed down will stop the browsing for a while on my big Mame playlist (5s).
To speed it up a bit I have to release the direction, and try to push again several times until it moves.
If I don't the browsing will get really slow at proceeding through every item (1s-2s each).
That's an extreme case playlist of 75000+ lines but 10000 lines (complete romset of many systems) is enough to make strong hiccups.
Would it be possible to limit the entries loaded when simply browsing left-right to optimize this?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
That would just lead to slower browsing as you go down the list, which would be frustrating, as well (perhaps moreso, since you would likely be scooting through the list very quickly to find a specific game). We might be able to do a threaded task to load playlists into memory at launch, though that would eat up quite a bit of RAM to have a dozen or more playlists with thousands to tens of thousands of entries loaded at all times.
That wouldn't be that bad if that's just once:
when you go down (or you stop on that playlist) it loads everything left in the playlist.
My main gripe is going through all those playlists and experiencing hangs repetitively going through settings, other system, main menu...
is it actually the lists that is causing the delays? or how the icons are
read and store when you go through each one.
On Sat, Jan 28, 2017 at 1:02 AM, Tatsuya79 notifications@github.com wrote:
That wouldn't be that bad if that's just once:
when you go down it loads everything left in the playlist.My main gripe is going through all those playlists and experiencing hangs
repetitively going through settings, other system, main menu...—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/libretro/RetroArch/issues/4517#issuecomment-275716592,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWPDtgCNU72qXoX-skpIRTczd5nMTKaPks5rWiMPgaJpZM4Lvv0l
.
That's a good question.
ram usage for retroarch goes up-down each time you view a list, so it is
probably loading one into memory and closing it when you move to the next
list. after a quick bisecting-it does not seem to cache the thumbnails and
does the same thin as you move down-loads image-free image and load next.
On Sat, Jan 28, 2017 at 1:25 AM, hizzlekizzle notifications@github.com
wrote:
That's a good question.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/libretro/RetroArch/issues/4517#issuecomment-275722095,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWPDtqMo_KB0FZIe3eQ-1nVBiCt2_P4Cks5rWihxgaJpZM4Lvv0l
.
I've been trying without assets and thumbnails: it hangs the same.
alt idea: make an additional browsing option requiring confirmation before developing a playlist.
It could also prevent the "left-right leaves playlist" as you would use "cancel" to go back to that parent horizontal menu.
And left right could then be used for 8 by 8 items navigation like in glui.
I like the idea of "entering" the playlist too, actually that would allow to have a playlist submenu (rescan, cleanup, change association)
Not sure that's the XMB way but it would make things better imho
I've experienced this on both a Raspberry Pi, and on a x86-64 PC running LibreELEC.
Anyone knows how to add a simple "wait for validate button pressed" before loading a playlist?
I'd really like to have that work-around for the moment.
@Kivutar
Would you be willing to look at this problem?
It's most certainly about file access as opening those playlists in a text editor takes some time too.
-Push a button to enter playlist?
-Deferred reading (load only when stopping on an item)?
-Caching method/incremental reading?
I made a video to show how bad it is with many big playlists.
My computer is an i5-3570K with Nvidia GTX 770 16GB RAM win7 x64.
https://www.youtube.com/watch?v=IaWEWe53phg
First time going through items by keeping the right direction pushed down.
Second time pushing right repeatedly. (it's faster)
Came back to look at this issue and got a big speed boost by bypassing xmb_list_deep_copy and xmb_list_switch_new in xmb.c.
Wow, that's some impressive speed improvement! While is is unfortunate that we're loosing the slide animation, the performance gain is most appreciated. Should we have a toggle for it in the settings?
Settings -> User Interface -> Menu -> Horizontal Playlist Slide Animation (default true)
I'd be completely okay with removing the slide animation entirely due for the performance gain. If you post up a branch somewhere, I'd be willing to test it out! Nicely done.
I don't know how to add a setting like that in Retroarch, but it would just need:
@Tatsuya79 Do you understand what actually happens (or doesn't happen) when you do that, and what consequences that may have for other people/platforms?
Nope, not at all. Just giving this hack for discussion.
I assume it's about the fade in/fade out effect when switching playlist.
This is probably going to break the dynamic wallpaper movement or something.
PR up at https://github.com/libretro/RetroArch/pull/5172 ... Will need some reviews and investigation on other platforms, as bparker mentioned.
I would be very wary of potential (silent) memory corruption and increased cpu/ram usage especially on slower devices. I mean, why else would a deep copy be there if it weren't needed. At the least I think an initial sanity check run through ASan should be done (make clean && make SANITIZER=address).
make clean && make SANITIZER=address
https://gist.github.com/RobLoach/93e79d695ce6c863f7aff81ffdb027b8
@RobLoach Does that happen without the PR in question? It could have been an existing issue nobody noticed.
@RobLoach Does that happen without the PR in question?
It happens with or without the PR. https://github.com/libretro/RetroArch/issues/5175
I expect #5273 to fix or at least improve this situation. The improvement was noticeable on my Skylake i3 machine.
Hi, pushed #5288 and #5290 please try it again.
I just tested those changes and that's really good, a lot faster with the horizontal animation setting ON.
OFF still is a bit faster, and almost exclusively about that crazy big MAME playlist, but that's just a short access time now (on an i5 3570k CPU).
Then you can ask @Ploggy if he can test those changes on Wii-U.
He was saying it was still too slow with the previous commits.
Sorry to report no change in speed for the WiiU in the latest commit. :(
Horizontal Animation off Is the only thing that made a noticeable difference.. Made a vid to show difference.. (holding right on the controller)
https://www.youtube.com/watch?v=dDeokk8bT7M&feature=youtu.be
Yeah, that's still awful! lol
But it's better though: last time you had some 2mn+ pauses, now it's a lot less.
I guess that is true but anything longer than a 10 seconds is.......no :) lol
Don't get me wrong though I'm still very grateful they're optimising the GUI :)
Thank You.
Guys please test it out on your devboards/consoles again.
I do not expect it to be smooth, my hope is that it's noticeably faster than 21 days ago and also that you are able to leave the animations turned on without major slowdowns (it doesn't make any difference on my system at the moment).
Bonus: total memory usage is now almost half of what it used to be when you have a MAME playlist loaded.
The browsing is faster indeed, still have the thumbnails/backgrounds delay but I reckon that could be a different issue and not your focus. Horizontal animation on or off makes no difference, very smooth on my vita.
There's been many updates since 2017. Feel free to create a new issue if you find any problems with menu performance. Thanks!
Most helpful comment
Guys please test it out on your devboards/consoles again.
I do not expect it to be smooth, my hope is that it's noticeably faster than 21 days ago and also that you are able to leave the animations turned on without major slowdowns (it doesn't make any difference on my system at the moment).
Bonus: total memory usage is now almost half of what it used to be when you have a MAME playlist loaded.