RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Odd behavior with transparent backgrounds

    Scheduled Pinned Locked Moved Ideas and Development
    es bugtransparencyzindex
    9 Posts 3 Posters 2.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ruckageR
      ruckage
      last edited by

      Hello,

      Not sure if anyone else has noticed but there seems to be some issues using transparent background images in Emulationstation. It looks like the system view is visible behind the background image:

      Here is how my theme should look:

      0_1498140447703_layering bug fix.jpg

      But this is how it actually looks:

      0_1498140530770_layering bug.jpg

      You can see the system view through the transparent areas of the image. I realise the transparent areas aren't necessary for this particular sytem but I'm using it to overlay screenshots etc. on other systems to give them rounded corners.

      My workaround is to draw an entirely black image behind the backgound so that the system view is hidden, however on the pi it takes a while to load all the images when you exit out of a game so it looks like a garbled mess as each element is loaded one by one and the system view is visible behind everything while this is happening.

      SNES mini/Nes mini/Famicom mini theme developer.

      If you'd like to support my work you can donate here: Donate

      J 1 Reply Last reply Reply Quote 0
      • J
        jdrassa @ruckage
        last edited by

        @ruckage i'll try and take a look at it later today. I think it may have an idea what the cause is. As a test could you try switching the carousel to horizontal and see if you still have the issue?

        Get latest build of EmulationStation for Windows here

        ruckageR 1 Reply Last reply Reply Quote 1
        • ruckageR
          ruckage @jdrassa
          last edited by

          @jdrassa said in Odd behavior with transparent backgrounds:

          @ruckage i'll try and take a look at it later today. I think it may have an idea what the cause is. As a test could you try switching the carousel to horizontal and see if you still have the issue?

          Thanks. I just changed the carousel to horizontal and it does indeed fix the issue.

          SNES mini/Nes mini/Famicom mini theme developer.

          If you'd like to support my work you can donate here: Donate

          1 Reply Last reply Reply Quote 0
          • J
            jdrassa
            last edited by

            Here is some detail on what is happening. Currently, when you use a horizontal carousel everything is rendered as show below. GL# represents the game list views, SV the system view, and EX# the extras that are rendered for the slide animation of the system view.

            [EX1][EX2][EX3][SV ][EX5][EX6][EX7]  
            [GL1][GL2][GL3][GL4][GL5][GL6][GL7]
            

            When switching to a vertical carousel, the extras are now rendered vertically with regard to the system view.

            [EX1]
            [EX2]
            [SV ]
            [EX3]
            [EX4]
            

            So the question now is what is the best way to fix it. My first thought was to just have the gamelists rendered a black rectangle. This is essentially what you tried to do on your own, but since its not an image I think it may work better/faster. This works, but I think you may still be able to see a bit of the extra during the slide transition. This may appear worse than it really is since I have been testing this by simply disabling the background image for the gamelist view.

            The second option would be to change the layout of the rendering to prevent the overlap. This would be a bigger effort and would have the side effect of having the slide transition between system view and gamelist view to become a horizontal slide when using using a vertical carousel.

            Get latest build of EmulationStation for Windows here

            ruckageR 1 Reply Last reply Reply Quote 2
            • ruckageR
              ruckage @jdrassa
              last edited by ruckage

              @jdrassa
              Thanks for the explanation.

              I think your second option sounds perfect as it would mirror the behaviour of the horizontal carousel (which slides vertically when moving from system view to gamelist).
              However I do understand if this would be too big of job to implement so any fix you decide to use would be greatly appreciated.

              Thanks for your help.

              SNES mini/Nes mini/Famicom mini theme developer.

              If you'd like to support my work you can donate here: Donate

              1 Reply Last reply Reply Quote 0
              • pjftP
                pjft
                last edited by

                I see.

                So, effectively, what's happening is that the gamelist is overlapping with the extras in the system view, because they're both positioned "under" the current system view, is that it?

                The second option is definitely one to consider. However, if now the gamelists are "to the right" of the system view, one would expect that moving between different systems' gamelists would also happen via "up" and "down".

                [EX1]  [GL1]
                [EX2]  [GL2]
                [SV ]  [GL3]
                [EX3]  [GL4]
                [EX4]  [GL5]
                

                However, that can't be the case as up and down are used to navigate the actual games list. :) And pressing left and right but seeing a vertical animation... I'm not sure. I'd need to see it to make an informed comment on that.

                A question on a hybrid approach: could we not avoid rendering the system view extras when on the gamelist view? Would that solve the issue?

                ruckageR 1 Reply Last reply Reply Quote 1
                • ruckageR
                  ruckage @pjft
                  last edited by ruckage

                  @pjft
                  I think you may be right unless @jdrassa had accounted for that.
                  If the rendering of the system view could be stopped in the gamelist completely wouldn't that have an added benefit of increasing performance as well?

                  SNES mini/Nes mini/Famicom mini theme developer.

                  If you'd like to support my work you can donate here: Donate

                  pjftP 1 Reply Last reply Reply Quote 0
                  • pjftP
                    pjft @ruckage
                    last edited by

                    @ruckage Yeah, I mean, it should certainly be able to be stopped from what I recall, and it would/could have the added benefit of increasing performance, though I'm not sure if it'd be in any meaningful way.

                    The main reason we render those neighboring views is for pre-caching purposes and navigation smoothness, but as I'm thinking about it, when in the gamelist view we likely only need to pre-cache the respective system view and the neighboring gamelists as there shouldn't be any "diagonal" camera movements -- unless I'm missing something @jdrassa ?

                    Of course, I don't know enough about the carousel implementation, so whatever I'm thinking of here may not be applicable.

                    1 Reply Last reply Reply Quote 1
                    • J
                      jdrassa
                      last edited by

                      I did briefly explore the idea of disabling the rendering of the system view. The problem is the slide transition. While transitioning, there is a small window of time where you need to render the gamelist and the system view. I didn't think about disabling the extras for the non-selected systems. That is another option to look at.

                      Get latest build of EmulationStation for Windows here

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      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.