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

    [Merged] Power Saver feature

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiotestingpowersaver
    164 Posts 10 Posters 62.0k 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

      @cyperghost Themes are loaded via Retropie menu but selected using ES alone. I dont think it is a viable solution.

      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

      cyperghostC 1 Reply Last reply Reply Quote 0
      • cyperghostC
        cyperghost @Hex
        last edited by cyperghost

        @hex If ES is executed it checks presence/values of advanced_settings.xml one time. Is there is a tag like

        <!--
              Hello,
                 I am a multi-line XML comment
                 I want to tell you a new feature of ES, the powersaver....
                0 = disabled
                1 = min, value Video support works, Scrolling not....
                9 = may the force be with you
                       -->
        
        <powersaving>
          <mode>0</mode>
          <timeout>90</timeout>
        </powersaving>
        

        or file is missing then PS is disabled.
        via batch script and xmlstartlet you can change XML values easily and then force a restart. I think it's a possible solution and you don't need to mess around with explanations pop ups within ES but of course ES must be prepared for the value you've setted in PS-mode.

        Of course it's your decision but it will also help to keep ES menu slim but it's still easy configurable by scripting menus.

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

          @cyperghost I do not want to complicate this further. It has already been decided to have PS enabled by default and a timeout set such that description scrolls. I want to have a setting for people not using/caring about descriptions, hence the Full option. I might think about MAX:EXP option for instant and no carousel users (Might not be implemented). Timeout access shall not be available to user as wrong setting will render ES unusable.

          So None/Minimal/Full are three options thought of being implemented for certain. I want your input on changing the names of these modes if necessary. I had name changing suggestions at a later stage while submitting additional animations. I dont want to repeat that. Hence if you have better suggestions for Mode Names, let me know.

          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

          Z 1 Reply Last reply Reply Quote 0
          • Z
            Zigurana @Hex
            last edited by Zigurana

            @hex
            Good idea's all around, even better to come to a decision 😀.
            Question: For users, there is no difference between none and minimal, right? Why do we need both?

            I would go for default / Improved

            If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

            cyperghostC 1 Reply Last reply Reply Quote 0
            • cyperghostC
              cyperghost @Zigurana
              last edited by

              @zigurana @hex

              I would go for usecase disabled/comfortable/portable

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

                @Zigurana

                None -> PS is disabled always
                Minimal -> PS is enabled after Description has scrolled once (approximately)
                Full -> Game name scrolls, Description doesnt scroll
                MAX:EXP -> PS has very short trigger time. Great for instant and no carousel transition users. For those who dont care about animations

                MAX might not be implemented, who knows. There is currently just one bug. PS isnt disabled while running scrapper (Fetch MD). That needs to be taken care of.

                Timeouts

                • MAX -> 20-40 cycles (Needs testing to reduce range)
                • Full -> 100-200 cycles
                • Min -> 10-12 secs ~ 1000-1200 cycles
                • None -> Not needed

                Do you have any suggestions for Mode names?

                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

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

                  @cyperghost Nice suggestions. Lets see what others think.

                  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
                  • Z
                    Zigurana
                    last edited by

                    Why would you want to disable PS?

                    If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

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

                      I dont know. I think having an option to disable it prevents complaints about unexpected behaviour. Another reason would be if we decide to default it no None while merging.

                      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 @Zigurana
                        last edited by

                        @Hex Does PS stop the animations or no longer?

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

                          @pjft PS doesnt stop animations if running in Minimal Mode, Description scrolls once. This would ideally be the default if we are leaving PS enabled in Default setting (first run).

                          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 and does the text animation in the text list Component also scroll if needed?

                            Is it "once" or is it timer related?

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

                              @pjft if you mean Game name text in game list then it does scroll nicely.

                              It is timer related. If the game description is way too long, it will halt in the middle. I am accounting for on an average 7-8 secs scroll, which should be sufficient for long desciptions.

                              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
                              • SanoS
                                Sano
                                last edited by

                                Hi guys,
                                From what I'm seeing, there have been quite a few topics the last few weeks about increased CPU usage, heat problems and even lag on ES.
                                A lot of features have been implemented recently, with a probable impact on resources.

                                AFAIK it's a frequent milestone in software dev : the base code works great, then a bunch of features are added, sometimes introducing bugs or performance impacts.
                                Not that the new features are badly coded, but they put the emphasis on a function of the base code that was not intented/coded to work with the new features, hence very non optimal in this new context... The solution would be to modify the base code.

                                Anyway, from my user point of view, it's not about power saving, but general optimization.
                                I run @Hex ES version for a few weeks now, and I'm very happy with it.
                                Thanks again for your work on this.

                                TL;DR : I'm seeing PS as a natural code optimization rather than a feature to save battery life. Therefore I vote for it to be default, and allowing to disable it in case of the behaviour induced doesn't match the user needs.

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

                                  @hex said in Testers needed :: Power Saver features :: PR #172:

                                  @jdrassa said in Testers needed :: Power Saver features :: PR #172:

                                  If so, I have a suggestion.

                                  • PowerSaver mode is always on. There are no menu options to enable or configure it.

                                  Auto scroll doesnt work in that case

                                  When I suggested it is always on, I meant that there wouldn't be a 'None' option. It would still function as it does not, hence the suggestion of a default (and configurable) delay.

                                  • The default delay before enabling PowerSaver mode is the users configured Screen Saver delay.

                                  Screensaver delay is at minimum 1m so switching timeout goes from 12 secs to 1m which is not good. Also if video screensaver is enabled PS will never be triggered (generally)

                                  This was just a suggestion, that would ensure that no existing functionality is effected.

                                  • If a user wants to change the delay to achieve more power savings, they can modify es_settings.cfg directly to specify a different value. This process can be documented on the RetroPie wiki. This is how the hide splashscreen option works.

                                  The user base inerested in PS will be more than hide splashscreen guys. Not many users look at the documentation for latest features.

                                  While I agree that many users will be interested in PS in some form, I'd argue that it is a much smaller number that will be interested in changing the settings. For those that are, they are likely to only ever change it once.

                                  @hex said in Testers needed :: Power Saver features :: PR #172:

                                  Timeouts

                                  • MAX -> 20-40 cycles (Needs testing to reduce range)
                                  • Full -> 100-200 cycles
                                  • Min -> 10-12 secs ~ 1000-1200 cycles
                                  • None -> Not needed

                                  When you say cycles, I assume this means iterations of the animation loop based on reading the code. This really should be time based. Otherwise, the timing is going to vary based on the power of the users hardware.

                                  Get latest build of EmulationStation for Windows here

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

                                    @jdrassa Currently PS is tracked using cycles/iterations. This is being shifted to timeout based system. When PS was thought of and developed, I had no need for description to scroll and never noticed it as I never read it. Hence a cycle based approach was easiest to implement. Now setting a timer based would be better so shifting to timer based.

                                    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 1
                                    • HexH
                                      Hex
                                      last edited by Hex

                                      Changelog :

                                      • PS is moved from Cycles based to Timer based control
                                      • 4 PS modes added: Disabled/Default/Enhanced/Instant
                                      • Moved PS to Core module.
                                      • Moved PS handling to VLC playback from VideoGameList

                                      Testers: Since I squashed commits before refactoring git pull will not work. Kindly Delete directory and start over from clone.

                                      Thank you to all those who have helped to test, provided valuable feedback and make this possible.

                                      Feature is now quite stable. Works well with Video screensaver and previews.

                                      Binaries :

                                      • Pi 2/3 : https://www.dropbox.com/s/m8csxt5txyu60dr
                                      • Pi 1/Z : https://www.dropbox.com/s/uiqkbbalbhf0qyr

                                      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

                                      cyperghostC 1 Reply Last reply Reply Quote 2
                                      • cyperghostC
                                        cyperghost @Hex
                                        last edited by

                                        @hex I'll test :)

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

                                          Pi Zero binary is also available now. Latest ES + PS

                                          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

                                          meleuM 1 Reply Last reply Reply Quote 2
                                          • meleuM
                                            meleu @Hex
                                            last edited by

                                            @hex said in Testers needed :: Power Saver features :: PR #172:

                                            Pi Zero binary is also available now. Latest ES + PS

                                            Yeah! Now I'm able to join! :-)

                                            This pi zero version works for pi1 as well, right?

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            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.