RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Emulationstation CPU usage

    Scheduled Pinned Locked Moved Help and Support
    cpuemulationstatio
    24 Posts 7 Posters 6.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.
    • pjftP
      pjft @Sano
      last edited by

      @Sano Yeah, you're right :)

      Let's leave it at that for now, but I'll keep it on the backburner.

      I know @Hex has forked ES to build a less-CPU-consuming version of it, so maybe this has been going on for a while.

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

        Thanks @pjft for bringing me into the loop. My build was mostly for Pi zero /1 which would suffer heavily due to constant rendering of the screen. This doesn't mean there are any disadvantages on using it on Pi2/3. I would be glad to create a production ready branch that can then be installed by users using meleu's script.

        @Sano , @cyperghost would you guys be interested in testing this feature for me? I am interested in submitting this as a feature. It is quite stable for now but not ready for merge. As such testers would be most welcome.

        @meleu Based on this and many other experiences would you think it would be better if there are some repositories already included in the script. This will create awareness and testers can test branches out without having to hunt for which branches need testing.

        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 cyperghostC 3 Replies Last reply Reply Quote 1
        • meleuM
          meleu @Hex
          last edited by

          @Hex I'm not sure... Once the branch is merged there's no need to keep it in the list IMHO.

          I'm planning to work out my git-fu and try to find a way to get the branches from the open Pull Requests list in the EmulationStation repo and build a list based on that info. It would pretty cool, huh? :-)

          It seems that you're more experienced with git, do you know how to do that (get a list of open PRs and their respective repo/branch)?

          I've found some documentation here but didn't find enough free time to dive into it. I am planning to use curl to get the needed info...

          • Useful topics
          • joystick-selection tool
          • rpie-art tool
          • achievements I made
          meleuM 1 Reply Last reply Reply Quote 0
          • meleuM
            meleu @meleu
            last edited by

            do you know how to do that (get a list of open PRs and their respective repo/branch)?

            Getting the info in a JSON format:
            https://api.github.com/repos/RetroPie/EmulationStation/pulls?status=open

            Now I need some time to learn how to use jq:
            https://stedolan.github.io/jq/

            Looks promising! I'll try to release something next weekend! ;-)

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            1 Reply Last reply Reply Quote 0
            • HexH
              Hex
              last edited by

              Json makes it very easy. I was already starting with curl (mobile page)+regex. I will let you know if i finish .

              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

                @meleu How about this

                Get page from github

                curl https://api.github.com/repos/RetroPie/EmulationStation/pulls?status=open > page
                

                Loop over all PRs

                n_pr=$(($(cat page | ./jq-linux64 'keys | length')-1))
                for i in `seq 0 "$n_pr"`; do
                     cat page | ./jq-linux64 ".[$i] | {name: .user.login, title: .title, branch: .head.ref}"
                     # Do individual processing here eg. add each item to list
                    echo "Yolo \m/"
                done
                
                # Or get all PRs in single operation
                cat page | ./jq-linux64 ".[] |  {name: .user.login, title: .title, branch: .head.ref}"
                
                

                Output

                {
                  "name": "pjft",
                  "title": "Adding support for \"All\", \"Favorites\" and \"Last Played\" systems",
                  "branch": "RetroPie-Virtual-Systems-PR"
                }
                {
                  "name": "nschloe",
                  "title": "various code fixes",
                  "branch": "coverity-retropie"
                }
                {
                  "name": "PronkMedia",
                  "title": "Added a new (missing) transition style, 'carousel slide'.",
                  "branch": "master"
                }
                {
                  "name": "sokie",
                  "title": "Implemented favourites system",
                  "branch": "favourites"
                }
                {
                  "name": "seriema",
                  "title": "OSX compilation fixes",
                  "branch": "osx-compilation-fixes"
                }
                
                

                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 1
                • meleuM
                  meleu @Hex
                  last edited by

                  @Hex by the way, I have a raspi1 and I'm interested in test your branch. What's its name?

                  • Useful topics
                  • joystick-selection tool
                  • rpie-art tool
                  • achievements I made
                  1 Reply Last reply Reply Quote 0
                  • HexH
                    Hex
                    last edited by Hex

                    @meleu Its my master branch. It has all tweaks and works. I was thinking of separating the feature so that a pull request can be optionally submitted. The only downside is Screensaver is not triggered as the Pi waits for user input and stops rendering new frames as there is literally nothing to do. Although it can be manually triggered by pressing "select" in systems menu

                    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
                    • cyperghostC
                      cyperghost @Hex
                      last edited by cyperghost

                      @Hex said in Emulationstation CPU usage:

                      @Sano , @cyperghost would you guys be interested in testing this feature for me? I am interested in submitting this as a feature. It is quite stable for now but not ready for merge. As such testers would be most welcome.

                      Sure! I can test this on a RPi 2 - would you offer ready compiled binaries?
                      Is it enough to just exchange the binary from /opt/emulationstation?
                      Why do you use OMXPlayer as background player? I think mpg123 is less resource hungry and it's simple command structure is excellent in saving memory space.

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

                        @Hex Yeah! That feature was added. Posted about it here: https://retropie.org.uk/forum/post/88716

                        Now I have to find some time to merge those improvements you made on your version of script...

                        Cheers!

                        • Useful topics
                        • joystick-selection tool
                        • rpie-art tool
                        • achievements I made
                        1 Reply Last reply Reply Quote 0
                        • F
                          finh @Sano
                          last edited by

                          Anyone experiencing this, using the "power saver modes" option solved the problem for me. The menu option is at start -> other settings -> power saver modes. Enhanced and instant worked well.

                          I'm using V2.6.3RP, on a Raspberry Pi 3 B. Idle, even with the screensaver set to a black screen, the emulationstation parent process would be at 30% cpu usage or more. On "instant," it ranges between 5% and 10%.

                          I realize this is an old post, but it's the only thing that came up in my search on this particular issue.

                          1 Reply Last reply Reply Quote 1
                          • P
                            praetorian55
                            last edited by

                            Thanks for that tip finh! I was trying to troubleshoot cpu usage on x86 emulationstation and happened on your post, works perfectly to address cpu usage!

                            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.