[Solved] [ES-dev Bug Report] "Hidden" filter fails at system level after entering a subfolder and returning
-
[ES-dev Bug Report] "Hidden" filter fails at system level after entering a subfolder and returning
Reproducibility: 100%
Test System:
Raspberry Pi 4B / Latest RetroPie Sync
ES-Dev Version: V2.11.0RP-DEV
ES Commit: 8675f38 (2021 JAN 18)Date Issue Started:
Unknown. Never tested filters until recentlyTest Setup:
- Create system folder that contains a subfolder (eg.
roms/amiga/demos
) - ROMs should exist in system folder and subfolder(s)
- With ES (or manually editing gamelist.xml) tag
<hidden>true</hidden>
for a ROM at system level - Set UI to "KIOSK" mode and restart ES (automatic)
Steps to Reproduce:
- From ES, enter system (eg.
roms/amiga
) from top menu - Observe ROM with <hidden> filter does not appear (correct behavior)
- Enter a subfolder (eg.
roms/amiga/demos
) - Exit back to system level (eg.
roms/amiga
) - Observe ROM with <hidden> filter now appears (incorrect behavior)
Expected Results
Hidden files should remain hidden regardless of user flow through ESHope this is helpful
- Create system folder that contains a subfolder (eg.
-
Yes, can confirm this happens - it's a bug.
-
-
@roslof you found out the hidden workaround we had inserted there to circumvent Kiosk mode.
Now seriously, thank you for reporting this, good catch :D Will look into it.
-
@pjft said in [ES-dev Bug Report] "Hidden" filter fails at system level after entering a subfolder and returning:
@roslof you found out the hidden workaround we had inserted there to circumvent Kiosk mode.
Woohoo! Glad Easter Eggs are still a thing.
Now seriously, thank you for reporting this, good catch :D Will look into it.
Thanks, @pjft . Appreciated, as always. Just let me know if you would ever like an area of ES tested and I'll work to try and break it.
-
@roslof Thank you.
I think I fixed it here: https://github.com/pjft/EmulationStation/tree/fix-kiosk-filter
But I don't have any hardware to test right now - if you'd have the chance do let me know, but if not I'll try to figure something out in the coming days. From reading the code, I also seemed to find two other scenarios that would like more testing here:
- Check the "jump to letter" navigation mode (from the select button) when in Kiosk mode. Right now it should show you letters from games that are filtered (so, shouldn't be suggested there). I wonder what happens if you navigate to one of those letters. In my changes, it should only suggest letters of the games that are being displayed.
- What's currently happening when the entire content inside a folder is hidden? Does the folder show? The folder is probably also hidden (that would have been smart) but, it it isn't hidden, what happens when we open that folder?
Thanks for sending this over.
-
Check the "jump to letter" navigation mode (from the select button) when in Kiosk mode.
Done
Right now it should show you letters from games that are filtered (so, shouldn't be suggested there).
Works perfectly now. Coincidentally, my hidden files were prefixed with "[" so easy to search for. "[" did not come up in the search list when all names starting with "[" were hidden. "[" still displays if there is a non-hidden name that starts with "[". Tested in system folder and subfolders.
What's currently happening when the entire content inside a folder is hidden? Does the folder show?
I did test this scenario. The folder is hidden and cannot be searched for. This was also true before your changes were made, so no issues here and no new issues found.
Lastly, my final check was to enter the Konami code to return to "Full". I'm reminded that things in ES appear slower than typical after you do this (not new behavior though. Always happens with my beefy theme -- as I wager the restart flow here isn't the same as "Restart Emulation Station" (which retains performance).
Otherwise, after entering the code and having ES auto-restart, everything is back to normal.
Appears to be a solid fix, @pjft
Cheers! -
@roslof Thanks for testing - I'll merge it then!
To confirm, the original issue you reported is also fixed, correct? :)
I wasn't aware of the drop in performance when changing from filtered to full mode. Restarting ES will pretty much remove everything from memory and load it again. I don't quite know what might be the reason here without testing further - texture caching, or unoptimized memory usage.
Where do you exactly experience the performance drop - navigating between what, and does it only happen the first time you navigate there, or always?
Thanks!
-
@pjft correct. The primary issue is definitely fixed.
As for performance, later tonight, I'll run checks for memory and CPU pre and post and see if it's not placebo. I'm confident though, that this is not a new issue (if legit).
-
@roslof Well, check fps as well - I think you can turn most of those on inside ES and see how they fare. I have no reason to believe it's placebo, I just hadn't been exposed to that scenario often so I never noticed it. But it's completely possible as well.
-
@pjft said in [ES-dev Bug Report] "Hidden" filter fails at system level after entering a subfolder and returning:
@roslof Well, check fps as well
I can create a new thread if desired, since this work is a bit off topic -- but for now, here we go:
First off, my theme is heavy, leveraging (among other things) one large 1160x1080 .jpg per system, and using roughly 80-90 systems.
VRAM LIMIT is set to 200Mb
I ran through the flow again (UI MODE from FULL --> KIOSK --> FULL) using the ES flow, and there is definitely a major performance hit during and after each subsequent load for the duration of the session.
Most notable side affects:
- Load times increase dramatically
- Navigation through the systems UI* eventually becomes uncontrollable, as the system continues to move through games, and player input is ignored
- FPS tanks during step #2 above
At idle, ES reports
Tex Max
increases dramatically:- At Boot: 626.99
- After two (2) Swaps: 930.43
All other stats remain the same after swaps.
Also, at idle, using htop, some stats increase:
- VIRT: 899M --> 937M
- RES: 653M --> 687M
- CPU: 25.7% --> 32.2%
- MEM: 38.6% --> 40.6%
However, when hitting F4 to exit ES, then typing "exit" at console to re-launch ES, everything going back to original values. I believe using QUIT | RESTART EMULATIONSTATION also clears the performance problem.
Lastly, an early check indicates a similar, if not identical issue when switching ES Themes back and forth.
Again, hope this information is helpful.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.