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

    Video preview bug in several themes - freezes after 10 seconds

    Scheduled Pinned Locked Moved Projects and Themes
    videopreviewbugthemes
    33 Posts 4 Posters 7.6k 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.
    • HexH
      Hex
      last edited by

      @pjft @SteffenBrauner On Linux with VLC, ES runs normally on Default and enhanced.

      @pjft I recently installed drivers for my graphics card. What the hell is this ?? Doesn't ES restrict frame rate to 60fps? The CPU usage is also through the roof.

      0_1509071700097_Screenshot from 2017-10-26 19-34-38.png t

      Sent from 20,000 leagues under the sea.

      Powersaver Emulation station : https://github.com/hex007/EmulationStation
      ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

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

        @hex I think it was related to this:

        https://github.com/RetroPie/EmulationStation/pull/267

        But it seems it's just been fixed by

        https://github.com/RetroPie/EmulationStation/pull/270

        :)

        1 Reply Last reply Reply Quote 1
        • HexH
          Hex
          last edited by Hex

          @pjft Not possible as the source has not been updated after merge of Kiosk mode PR.

          Just to make sure I updated to master as of today (PR#270 merged) and the FPS increased :| I am sure that 60fps hard limit is not implemented.

          0_1509126626900_Screenshot from 2017-10-27 10-48-58.png

          Sent from 20,000 leagues under the sea.

          Powersaver Emulation station : https://github.com/hex007/EmulationStation
          ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

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

            It might be the case, I certainly don't have a lot of experience with that aspect. Maybe @jdrassa or @Zigurana would have some perspective on that?

            I only run this on the pi, and on the pi it usually stays around 45fps or so, so I suppose I never really noticed that. :l

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

              @Hex coming back to this, I can indeed replicate this with Power Saver Enhanced and VLC Player on the Pi. The video stops, and the moment I press any button it continues. The audio keeps going, the the video does indeed stop.

              I'm not sure I can replicate it 100%, all the time, but it is there. Might be worth adding some logs to when the Power Savings are kicking in and confirming that they are kicking in even though VLC is playing.

              1 Reply Last reply Reply Quote 0
              • HexH
                Hex
                last edited by

                @pjft I specifically added a PR to address this. It disables PS if vlc is playing a video. Can you check this file and let me know if my logic is not correct?

                https://github.com/RetroPie/EmulationStation/blob/master/es-core/src/components/VideoVlcComponent.cpp#L335

                Sent from 20,000 leagues under the sea.

                Powersaver Emulation station : https://github.com/hex007/EmulationStation
                ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

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

                  @hex No, you're right. I remember that, and indeed we had tested it out and it worked well.

                  This may be related to descriptions animating, and that may be what leads @SteffenBrauner to connect it to themes (!) out of all things.

                  I added some logs to powerSaver::setState() and this is what I get, on VLC:

                  • If I enter a gamelist, and a video shows up, I get:

                  lvl0: Set State: 1
                  lvl0: Set State: 0

                  which is what we expect.

                  But, then, if I scroll to a different game (up, or down), I get:

                  lvl0: Set State: 0
                  lvl0: Set State: 1
                  lvl0: Set State: 0
                  lvl0: Set State: 1

                  which suggests that there are other UI components also setting the PS state, and then affecting the outcome here.

                  I'm using the ComicBook theme, which has descriptions in it.

                  I'm not sure if it's related or not, because - as I said - I cannot replicate it consistently, but I'm happy to try out more and get a video of it if it helps. Hopefully the logs I just sent will also help?

                  Thanks!

                  1 Reply Last reply Reply Quote 0
                  • HexH
                    Hex
                    last edited by

                    Scrolling should have no bearing on PS.

                    If each of your game has a video and VLC has to shutown and restart, there is a possibility of that happening. Can you log PS changes in VideoComponent only rather than globally? Let me know the o/p

                    Sent from 20,000 leagues under the sea.

                    Powersaver Emulation station : https://github.com/hex007/EmulationStation
                    ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

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

                      I just re-read the code.

                      I'm pretty sure it's caused by this command in IList.h, which runs when we stop scrolling, and will override VLC.

                      PowerSaver::setState(velocity == 0);
                      

                      It's not a big deal - probably we could do "velocity == 0 && <is using VLC> && <is in gamelistView>" and it could fix it.

                      Or we could centralize the status in PowerSaver so that different components don't need to know what else is happening.

                      Either way, I think that is it. :)

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

                        @hex sorry - as you probably already figured out I messed up the fake code conditions. I think it should likely be

                        Velocity == 0 and (NOT using VLC OR NOT in gamelist view)

                        But you know how PS works better than I do, so definitely don't trust me on this and check if it makes sense. :)

                        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.