EmulationStation Grid View v1 ready for wider testing
-
@jdrassa Define "first needed".
Yes I explored instantiating the TextureResource while navigating in the grid and it gave really poor results, with huge fps drops.
Another solution could be to instantiate them only for the currently selected system, but that way you may experience big loading time if you switch to a system with a lot of games for the first time.
This 9000+ games collection ain't gonna get loaded by itself.
-
@a12c4 said in EmulationStation Grid View v1 ready for wider testing:
@jdrassa Define "first needed".
Yes I explored instantiating the TextureResource while navigating in the grid and it gave really poor results, with huge fps drops.Not entirely sure. My first thought was to load only the textures needed to fill the grid tiles and then load more as they are needed, maybe with some sort of predictive loading ahead based on scroll direction/speed. I assume that is along the lines of what you already tried.
After thinking about it further, it may be that the check for for file existence that happens before loading the texture may be contributing to the delay. I know that the auto-discovery of images was disabled on the stable branch due to the delay checking for the image existence was causing.
-
@jdrassa Sorry for the late answer, I had some troubles with my computer that I needed to fix first.
So, after taking a look with callgrind, it look like the check for file existence have nearly no cost compared on the TextureResource instantiation. (btw if you have a better method than using callgrind to profile C++ code, I'm interested, as it's far from perfect and I would like to focus on the grid optimization along with debug in the next weeks).
I think we have 2 bottlenecks here : the TextureRessource instantiation and the TextureData loading.
The 2nd one can be easily delayed by loading only texturedata for the selected system instead of all system at the same time. This is actually something that I had already made in the first version of the "dynamic image loader" feature but didn't reimplemented when I restarted the final version from scratch.
I think this should help a lot here : Since the modified carbon theme that I shared display 15 grid tiles per system, this mean ES will load up to 15 texture per system (ofc it will load only 2 if you have only 2 games for a system), so if you have let's say a 30 system game collection, ES will load up to 15*30=450 texture at the same time, thus hanging a little bit ... With that modification, ES will only load the texture for the selected system, so if you change system using left/right shoulder button, it will take a little more time to load, but it should completely solve our problem with big game collections.
-
Hi, is there an up to date version for windows that matches the raspberry pi as the version currently on your continuous build doesn't seem to be working correctly, setting the grid to <scrollDirection>horizontal</scrollDirection> results in no grid being displayed and if you try to activate grid through the menu or change the theme ES crashes.
Thanks in advance for your help.
-
@ruckage Hi, I'm aware of this 2 issues and working on a fix for both of them. This is taking a bit longer than expected, as I said in the comment right above yours. Once both fixes are released, jrassa should come with a new version anytime soon. Thanks for your patience.
-
-
Hmmm....
-
@lilbud Can you give some context to this image ? Are you reporting a bug or do you just want to show your last creation ?
-
@a12c4 yes
Showing off a mockup I've been working on
-
@lilbud do you even need grid view for that? I mean it's just a single image above an frame with some Metadata. You can do that in detailed view.
-
@ectoone Like I said, just the result of me screwing around in photoshop. I just wanted to see what different views looked like.
-
@lilbud Yeah sure, asking for feedback is fine but I don't understand why you posted it here with no context.
I thought that you wanted to use grid view to show only one image. Which makes no sense to me, because it can be done without grid view. Also I find it has even less accessibility then my suggestion to have an opinion to fix the selector on one side (I posted an image of that in one of the other threads).
Also it would be OK if you had posted more images of the different views, but then I would still ask myself: why is that here? -
@ectoone I guess I thought it belonged here on the grid view discussion. Disregard it
-
@ruckage @lilbud @EctoOne I fixed a bug which caused the padding of the grid tile to be 2 times smaller than it should be. I wanted you to know it will be in next release in case you already started to build your theme.
The 2 other fixes (for horizontal grid position bug and enabling the grid crash) should also come soon.
-
@a12c4 Sounds good, I just build the latest dev version to test the changes on logoText and it works fine. Then I noticed that I have to finally work on my grid positions. Hopefully I can manage to get it to look good.
-
Are you ok @jdrassa ? You look a bit overwhelmed by all the ongoing changes on EmulationStation
-
@a12c4 I'm good. Just have a lot going on so I haven't been able to comment as much.
-
@jdrassa Ah, I see. It's ok if you need some rest after all this grid view pull requests, I can understand that ;)
-
@a12c4 said in EmulationStation Grid View v1 ready for wider testing:
@ruckage @lilbud @EctoOne I fixed a bug which caused the padding of the grid tile to be 2 times smaller than it should be. I wanted you to know it will be in next release in case you already started to build your theme.
The 2 other fixes (for horizontal grid position bug and enabling the grid crash) should also come soon.
Thanks, I'll keep that in mind. I look forward to the next update.
-
- The "infinite hang" when enabling the grid view should be fixed.
- The horizontal grid position got fixed.
You can find this changes in latest release of Jdrassa's continuous build.
You may experience slows down while navigating big game collections, next big step will be to optimize the grid view code.
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.