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

    ES Video within the grid view

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiogridview
    56 Posts 8 Posters 7.9k 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 @A12C4
      last edited by ruckage

      @a12c4
      Hi, I understand how ninepatch works, it was more a suggestion for a change as it does create inconsistencies when viewed at different resolutions.

      Here's an extreme example using my theme- 1920x1080 next to a 960x540 image (scaled to match for easy comparison).

      0_1526779769182_ninepatch.jpg

      I can live with this but it's a shame as they are the only elements that differ visually based on the resolution.

      I'm not sure if I was very clear with my suggestion - I know the 9 patch keeps the corners the same size and stretches top/bottom/sides/middle but instead of it being drawn at a fixed pixel size we could define the size the corners were drawn using normalised pairs they would look the same regardless of resolution. I appreciate ninepatch isn't something you added and it has always been part of ES but there was never much point in using them before so it wasn't an issue (has any one used them in their themes?)

      As I said the grid view will be great regardless but I felt it was worth mentioning.

      SNES mini/Nes mini/Famicom mini theme developer.

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

      A12C4A 1 Reply Last reply Reply Quote 0
      • A12C4A
        A12C4 @ruckage
        last edited by

        @ruckage I understood your point of view but my point is still relevant : make this changes to the ninepatch would defeat its own purpose, as it will create pixelated corners.

        You shouldn't compare the upscaled screenshots but compare them at their native resolution, and see how consistent the ninepatch is at different resolution by only stretching the borders and center parts.

        Beside that. I don't think a theme ever used the ninepatch directly, from the test I've driven, the themes are supposed to be able to add a ninepatch anywhere they want but it's not working as it crash emulationstation. But the ninepatch itself is constantly used in emulationstation for the buttons in the menus for example.

        Grid view wiki

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

          @a12c4

          @a12c4 said in ES Video within the grid view:

          You shouldn't compare the upscaled screenshots but compare them at their native resolution, and see how consistent the ninepatch is at different resolution by only stretching the borders and center parts.

          You have to remember though that the image will be displayed at fullscreen regardless of resolution (which is why I scaled up that image to show a direct comparison - 1 pixel on a 540x960 display is twice as wide and twice as tall as 1 pixel on a 1930x1080p screen). And it completely breaks the look of my theme at different resolutions. The only way around this is for me to create different 9patch images for each supported resolution to maintain a consistent look which is what I'll end up doing.

          @a12c4 said in ES Video within the grid view:

          I understood your point of view but my point is still relevant : make this changes to the ninepatch would defeat its own purpose, as it will create pixelated corners.

          I don't think it would defeat the purpose of 9 patch at all. And pixelation would only happen if you scaled up higher than the targeted resolution and that would be the case with all the other images of the theme as well so isn't an issue.

          Say for example we have a 48x48 ninepatch so the corners are 16x16 pixels. We've designed this image specifically for a 1080p screen as the optimal resolution so we want the corners to be 16x16 pixels at this resolution so we would simply set <ninepatchsize>0.00833 0.0148</ninepatchsize> which is the equivalent of 16x16 pixels at 1080p. Using a lower resolution would effectively scale this down so at 960x540 the corners would be scaled down to 8x8 pixels thus maintaining a consistent look.

          As I said going larger than 1080p would scale up the corners causing some pixelation but again this would be consistent with the rest of the images in the theme and themes tend to be developed at the highest officially supported resolution anyway.

          I think most theme developer create a theme with a specific resolution in mind (usually 1920x1080 I imagine) but you can guarantee that once a theme is released you start to get multiple requests for supporting lower resolutions and different aspect ratios and using normalised pairs to define how images are displayed makes that a bit easier. To create a consistent look using the grid view currently on my theme will require 10 different versions of the 9 patch images at various sizes for both default and unselected so thats 20 images total, also the padding would have to be changed for each resolution as well as that's also defined in pixels.

          SNES mini/Nes mini/Famicom mini theme developer.

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

          A12C4A 1 Reply Last reply Reply Quote 0
          • D
            duiz
            last edited by

            @jdrassa My ES crashes when I try to enable Grid View with the test themes on the latest github release.

            E 1 Reply Last reply Reply Quote 0
            • E
              EctoOne @duiz
              last edited by

              @duiz Are you sure that you're using the latest version? The download link has changed to: https://github.com/jrassa/EmulationStation/releases/
              It should say V2.8.0RP-DEV (MAY 22 2018 - 23:22:10) when you hit the start button. It works for me.

              D 1 Reply Last reply Reply Quote 0
              • A12C4A
                A12C4 @ruckage
                last edited by

                @ruckage said in ES Video within the grid view:

                You have to remember though that the image will be displayed at fullscreen regardless of resolution (which is why I scaled up that image to show a direct comparison - 1 pixel on a 540x960 display is twice as wide and twice as tall as 1 pixel on a 1930x1080p screen). And it completely breaks the look of my theme at different resolutions. The only way around this is for me to create different 9patch images for each supported resolution to maintain a consistent look which is what I'll end up doing.

                On Android they create different versions of images to support a very large pool of screen size and resolutions, this could also be a solution here, to have 3 or 4 different images for different set of resolutions (low res, mid res, hd, ultra hd ...)

                To create a consistent look using the grid view currently on my theme will require 10 different versions of the 9 patch images at various sizes for both default and unselected so thats 20 images total, also the padding would have to be changed for each resolution as well as that's also defined in pixels.

                As I said previously I don't think you need 10 different versions, 3 or 4 should be enough.

                I agree the padding may be changed, if I remember right, I set it in pixel because the ninepatch also use pixels, so if you want the tile content to match exactly the ninepatch center part you can just set the same size for the ninepatch corner and the padding.

                Grid view wiki

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

                  @a12c4 said in ES Video within the grid view:

                  On Android they create different versions of images to support a very large pool of screen size and resolutions, this could also be a solution here, to have 3 or 4 different images for different set of resolutions (low res, mid res, hd, ultra hd ...)

                  As I said previously I don't think you need 10 different versions, 3 or 4 should be enough.

                  Hi @A12C4 , thanks for the reply. Certainly 4 or 5 different version would be fine for many themes but as mine is a pixel art theme I've tried very hard to maintain a consistent pixel size throughout the theme as much as possible so ideally I would have to make a different 9 patch for each supported resolution which is currently 10 different resolutions.

                  Have you considered offering the option of just using a standard image as the tile background? You could still keep 9 patch as an option as well but that way the choice is down to the theme developer over which one better suits their needs . I can appreciate 9 patch has it's advantages but it isn't necessarily the best option for all themes.

                  Edit: p.s I hope I don't seem like I'm being picky or ungrateful, I'm enjoying the gridview very much and just want to provide feedback as a theme developer.

                  SNES mini/Nes mini/Famicom mini theme developer.

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

                  A12C4A 1 Reply Last reply Reply Quote 0
                  • A12C4A
                    A12C4 @ruckage
                    last edited by

                    @ruckage I can't try it right now and I'm not sure it will work, but have you considered to set the corner size of the ninepatch to 0 0 ? That way it should act like a normal image.

                    Grid view wiki

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

                      @a12c4 said in ES Video within the grid view:

                      @ruckage I can't try it right now and I'm not sure it will work, but have you considered to set the corner size of the ninepatch to 0 0 ? That way it should act like a normal image.

                      Thanks for that suggestion, I Just tried it and it seems to work perfectly so that basically solves my problem - if the padding could be defined as normalised pairs it would completely solve it.

                      edit: I'm guessing this works because setting the corner size to 0 effectively makes the image just the central portion of the 9 patch and so it's stretched to fill the tile area. Clever idea. :D

                      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
                      • D
                        duiz @EctoOne
                        last edited by

                        @ectoone Yep, that's the one I have going.

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

                          @duiz Off hand my initial suggestion would be to make sure that copied over the resources directory from the new build. There were some new resources added as part of the grid implementation and if they are not found that would likely lead to a crash.

                          Get latest build of EmulationStation for Windows here

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            duiz @jdrassa
                            last edited by duiz

                            @jdrassa Yeah I did a clean install to see if it would work but no dice. Basically, when I select grid and click the Back button to activate the changes in the UI Settings menu, it freezes there for a minute or so and crash exits.

                            My log file also shows this:
                            lvl1: OptionListComponent too narrow!
                            lvl1: OptionListComponent too narrow!
                            lvl1: OptionListComponent too narrow!
                            lvl1: OptionListComponent too narrow!
                            lvl1: OptionListComponent too narrow!

                            E 1 Reply Last reply Reply Quote 0
                            • E
                              EctoOne @duiz
                              last edited by EctoOne

                              @duiz I'm not sure but I think that indicates an issue with the theme not emulationstation. What theme are you trying to use?

                              Edit: I just did a quick test with theme that has no grid view specified and got the same error but ES didn't crash.

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                duiz @EctoOne
                                last edited by

                                @ectoone I'm using the Carbon theme that was linked further up in this thread

                                E A12C4A 2 Replies Last reply Reply Quote 0
                                • E
                                  EctoOne @duiz
                                  last edited by

                                  @duiz Weird, I just tried it and it works fine. I'm not even getting the lvl1: OptionListComponent too narrow! error.
                                  I'm only getting lvl1: NinePatchComponent missing texture! and I don't know where it comes from, I tried multiple themes and some have it and some not, but they all work. At least I can't see something broken.

                                  1 Reply Last reply Reply Quote 0
                                  • A12C4A
                                    A12C4 @duiz
                                    last edited by

                                    @duiz Sorry for the late reply but are you still experiencing issues enabling the grid view ?

                                    Grid view wiki

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      duiz @A12C4
                                      last edited by

                                      @a12c4 yeah I gave up for now and will try again when it's been tested and established a bit more

                                      A12C4A 1 Reply Last reply Reply Quote 0
                                      • A12C4A
                                        A12C4 @duiz
                                        last edited by

                                        @duiz Can you write down in this topic what is your system config, what you tried to do exactly, step by step, and what happened, don't be afraid to be as detailed as possible. Sorry for the inconveniance, I'm trying to gather inputs from different people, to track down this bugs as I wasn't able to reproduce them.

                                        Grid view wiki

                                        1 Reply Last reply Reply Quote 0
                                        • paffleyP
                                          paffley
                                          last edited by

                                          Hey @A12C4 any new news on further production of grid view?

                                          A12C4A 1 Reply Last reply Reply Quote 0
                                          • A12C4A
                                            A12C4 @paffley
                                            last edited by

                                            @paffley Not really, haven't touched to my pi since months, just enjoying summer.

                                            Grid view wiki

                                            1 Reply Last reply Reply Quote 1
                                            • 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.