mickelson / attract

A graphical front-end for command line emulators that hides the underlying operating system and is intended to be controlled with a joystick or gamepad.
http://attractmode.org
GNU General Public License v3.0
397 stars 115 forks source link

Random artwork missing on AM start after the ImageCache commit #641

Open oomek opened 4 years ago

oomek commented 4 years ago

I'm opening this issue so we could discuss here the improvement of the ImageCache class. I've noticed some bugs and I have few ideas of improvement. Are you still working on that https://github.com/mickelson/attract/commit/afbfc96435df45cd487d2caf89e7b60b285bd3f1 ? You did not reply to my comments, so I do not know whether I should try to fix it or not. I do not want to work in parallel on the same thing.

pcca-matrix commented 4 years ago

hi oomek, didn't see any bugs with this commit on my side, what are they?

oomek commented 4 years ago

When I launch AM random images are not loaded on the grid of snaps, I see blank spaces. Try to add a grid of 20 snaps for example and you will see.

barolo commented 4 years ago

I've experienced the same in grid with the ArcadeFlow theme, had to do something to force the resfresh of the cache to fix that

ghost commented 3 years ago

I wanted to add my own input that I've been struggling with this issue as well. Here is an example of it in action. https://gyazo.com/47157b882b27f365fed4272de500b59e It will always show the background and bounding box on loading, but the logo, and snaps won't always display until I hit left or right to change the selected game. In the example I posted the selected game was loaded by the two side games were not, however this is not always the case. Sometimes the selected game doesn't load and/or one of the side games will load.

To add additional information: The background file size is 421 KB The bounding box is 6.28 KB The Pac-Man logo is 50.6 KB Ms Pac-man (blurred) is 148 KB The Pac-Man snap is 1.27 MB The Ms. Pac-Man snap is 1.27 MB

All snaps are 1.27MB All logos are between 50 KB and 820 KB All blurred logos are between 148 KB and 902 KB I do not have any videos loading/playing.

I have the Image Cache Size set to 1000.

FYI this is running on a Raspberry Pi 4 on Retropie 4.6 with the latest (as of a couple weeks ago) Attract Mode experimental package installed. The system is not overclocked or underclocked.

oomek commented 3 years ago

@mickelson Can you think of finding a way of postponing FromOldSelection transition until all imeges are loaded? This seems the only logic workaround for that issue that appeared after implementing the image cache. The cache as I've already mentioned should not store images, but textures and when all textures are loaded the pointers to textures should be updated (texture to sprite assignment) . When you call texture.update() on the texture that is being currently displayed on the screen it stalls the opengl command pipeline.