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 100% Single Thread Usage

    Scheduled Pinned Locked Moved Help and Support
    emulationstatonbug report
    16 Posts 3 Posters 1.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.
    • T
      theofficialgman
      last edited by theofficialgman

      maybe this has to do with audio not working for me within emulation station? The default audio card and master audio device correctly change audio volume but I don't hear any navigation sounds (they are on). before anyone asks, yes audio is working in retroarch and everything else. I've tried manually setting emulationstation to pulse and the Master audio device as well as many other things to no avail
      edit: ignore what I have crossed out, I wasn't aware that my theme could affect the audio and my theme has the scroll sound commented out for some reason

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

        @gmesmer I don't know about the audio, but I was going to report the same experience as @mitu regarding Raspberry OS 64 tests. From the little I recall testing it out back in the day, I don't recall the 100% CPU usage.
        If you run ES with the debug flag, is there anything interesting in the logs that keeps getting repeated - perhaps suggestion what's keeping the CPU at max usage?

        T 1 Reply Last reply Reply Quote 0
        • T
          theofficialgman @pjft
          last edited by

          @pjft no, nothing in the debug besides expected button input logs

          1 Reply Last reply Reply Quote 0
          • T
            theofficialgman
            last edited by theofficialgman

            alright new development
            running in forced windowed mode the cpu usage goes down to below 5% (framerate is still a solid 60fps)

            1 Reply Last reply Reply Quote 0
            • T
              theofficialgman
              last edited by

              I built emulationstation manually with the GL 1.4 backend to see if there would be any difference and I have the same issue with it.

              maybe this very old stackoverflow post still applies here? https://stackoverflow.com/questions/21925313/100-cpu-utilization-when-using-vsync-opengl

              1 Reply Last reply Reply Quote 0
              • T
                theofficialgman
                last edited by

                @pjft @mitu I found a solution which works well enough in this case
                this seems to be a configuration set deliberately with nvidia linux drivers to busywait on vsync

                setting this flag changes that behavior __GL_YIELD=USLEEP
                cpu usage goes down to 30% (not as good as windowed mode) and the frequency drops significantly as well (settles in around 600mhz)
                overall I think this is good enough

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

                  @gmesmer Interesting. Thanks for sharing - it might be helpful for others who try to set it up in this context.

                  1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator
                    last edited by

                    @gmesmer are you running in windowed mode as fullscreen/borderless ? You might want to try it to see if it yields the same CPU usage.

                    setting this flag changes that behavior __GL_YIELD=USLEEP

                    You should test to see how that affects emulation, it might introduce some latency.

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      theofficialgman @mitu
                      last edited by

                      @mitu emulation is unaffected by __GL_YIELD=USLEEP

                      as for fullscreen/borderless, I've tried both exclusive fullscreen and borderless fullscreen but it seems that the nvidia driver recognizes that only one thing is on display so effectively the borderless is treated as fullscreen.

                      Full windowed mode (ie: not borderless fullscreen) goes through the compositor and has different results

                      anyway, I did my research on this, the default settings is to busywait on vsync for most nvidia drivers which pins the cpu to 100% on that core

                      1 Reply Last reply Reply Quote 0
                      • T
                        theofficialgman
                        last edited by

                        also my apologies for the slow replies. even though I think my email notification settings are correct. I have never once gotten an email from this forum

                        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.