Bug? Box art displaying incorrect size the first time I enter a system
-
I've been modifying Carbon to my liking -- learning lots!! -- and I think I've discovered a bug. For any screen that displays video I have the box art image and the video side by side. Both are set to scale proportionally using the <maxSize> tag. The first time I enter the games list for any system, the box art seems to be sized to some arbitrary size, and it is visually distorted. If I then move to the next game in the list, box art is sized correctly, and if I move back up to the first game in the list box art is sized correctly. If I move to another system, I'll see the same problem again with that system.
This happens once per system per start of EmulationStation. It does not happen on views without video., only when the view has video.
Has anyone run across this before? Any way to fix it?
Thanks!
- Jeff
-
I should also mention that for the Arcade system, the box art doesn't even show up at all the time I go into it. Once again, scrolling down and back up brings the image up.
-
@j.e.f.f I've noticed the same thing using @jdrassa's latest Windows build of ES.
I have
<showSnapshotNoVideo>
and<showSnapshotDelay>
both set to True, so it shows a screenshot before the video starts. The first time a system shows, the first screenshot is squished smaller than it should be. If you go the next game, the screenshot is fine, and then back to the first game again, the screenshot is fine there too.It's not a huge issue, but it could be worth pointing out.
-
@mattrixk I have both of those set to False, but otherwise exactly my issue.
-
@j.e.f.f Are you working on a Raspberry Pi or a Windows build?
-
Could it be a virtual memory issue? What is the size of your image file? I am wondering if you increase your VRAM and then try if it will help? The only reason I think this is that once you view it the first time it is wrong, but when you go back it is correct, maybe when you first enter it is having trouble with file size/memory and displaying wrong?
-
@TMNTturtlguy Would that make a difference on PC though? It happens on my Windows build, and my computer here is relatively beasty (at least compared to a Pi).
-
@mattrixk probably not on a pc, you are right you are right. I would still give it a try and see if it works because it only affects the first image, the first time, so for some reason it isn't loading properly the first time, but the it corrects itself. Another test I might try is to remove the image from the first game on the gamelist. That way when you enter into the system, the first game on the list wont have any images to load, scroll down to the second game, how does that appear?
-
@mattrixk I'm on a Raspberry Pi 3, RetroPie 4.2
-
@TMNTturtlguy How do I go about increasing VRAM? I'm on a Raspberry Pi 3
-
@TMNTturtlguy I removed the image from the first game in the list. I replaced the entry in gameslist.xml with <image />. When I entered that system, the first game had no image, then the second game rendered the box art image at the correct size. So it seems like it is an issue with only the first game in the list when an image is available.
Interestingly, it seems that when the image renders improperly, it appears that it is renders the image to square dimensions, as wide as is available per the maxSize width setting.
-
@j.e.f.f Sounds like we are getting somewhere! My suspicions are correct that the Pi is having issues with opening just that first image when you go into the system......so i am still thinking it is a ram issue.
To find VRAM, simply push the start button to get to the main menu, go to other settings. VRAM limit. Try setting it to 120Mb. Put that first image back into the game list. restart emulatiostation and see what happens when you try to open the system. If it doesn't fix it, try 130, then 140. No need to restart ES when changing the VRAM limit. If this does not work, the next step would be to try to decrease the files size of your image, maybe just the first games image.
-
@TMNTturtlguy hmmm... I've gone all the way up to 200mb for the VRAM limit and it doesn't seem to have an effect.
Not sure if this was clear, but it does this with the first image in every system the first time I enter a system. Meaning that if I enter any system, leave the first image highlighted, and then navigate left and right to each subsequent system, each image will be distorted in the same way. Each system will continue to have the problem until I navigate to another image within that system. The only exception is Arcade, which instead of distorting the first image, it doesn't display at all until I navigate down and back up.
Also I'm using transparent PNG files for my images, not JPGs
I'll try decreasing the image size and see if that makes a difference.
-
@j.e.f.f .png files are what you should be using so that is good. set your Vram back down to 100. trying the file size is my last guess. If the other images show up correctly, your theme.xml should be ok.....are you using <maxSize>?
-
@TMNTturtlguy Yes, I am using <maxSize>. I tried decreasing file size by reducing dimensions to one quarter of the original size. No change in behaviour. Aracade still doesn't display the first image; other systems display the first image distorted.
Here's an example of what my theme XML looks like.
<view name="detailed"> <image name="md_image"> <pos>0.43 0.37</pos> <maxSize>0.55 0.333</maxSize> <origin>0 0.5</origin> </image> </view> <feature supported="video"> <view name="video"> <image name="md_image"> <pos>0.43 0.37</pos> <maxSize>0.15 0.333</maxSize> <origin>0 0.5</origin> </image> <video name="md_video"> <pos>0.6 0.37</pos> <maxSize>0.25 0.333</maxSize> <origin>0 0.5</origin> <delay>0.2</delay> <default></default> <showSnapshotNoVideo>false</showSnapshotNoVideo> <showSnapshotDelay>false</showSnapshotDelay> </video> </view> </feature>
Note that I don't have the problem with "detailed" view, only "video" (almost all of my systems use video view).
-
@j.e.f.f I have been playing a lot with video views on my themes, but i can honestly say I haven't tried to put an image under my video. I am assuming you updated your ES this week? There was an update that came out a few days ago. Something to try, might not work, but would be interesting is to take the <feature supported="video"> out and just try starting with <view name="video">. I have been playing with both with varying results depending on which version of ES i am running. Not sure it will work, but it is worth a shot.
After that, i am out of suggestions for you. I am stumped and have not come across this problem. Hopefully someone else out there has some good thoughts. Let me know if you try to remove the feature line (don't forget to take it out of the bottom of feature view as well).
-
@TMNTturtlguy I'll give it a shot. Thanks for all your suggestions. I'll report back later with my results.
-
I spent some time trying to debug this over the weekend. I am not sure what the exact cause is, but it appears to be an issue with the fact that the same image/texture is being loaded twice, for md_image and md_video.
I experienced some weird behavior while messing around with it. Currently, the image is loaded into the VideoComponent and then loaded into the ImageComponent. When I switched this order, all of the images were rendered incorrectly. When I disabled loading the image into the ImageComponent, the image rendered properly. Seems to be a bit of a race condition.
@fieldofcows since md_image and md_video will show the same image, is there any reason to still include md_image on the video view?
-
@jdrassa They don't display the same thing, at least not the way I'm doing it. I have game footage videos and box art for all the games in my collection. I've modified the theme to display them side by side. md_image displays the box art, and md_video displays the game footage.
-
@j.e.f.f I just got this to work for me....take the md_image out of the main .xml file for your overall theme, i.e. carbon.xml. place it in your theme.xml. Now ES will be able to load them simultaneously without fighting with each other. I have this working on my build right now.
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.