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

    Removing unused features

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiooptimization
    40 Posts 13 Posters 8.4k 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

      Hello fellow devs. Since recently we are adding a lot of code to ES. This has increased the compile time and resources needed considerably for Pi. I would like to suggest we start axing features that are not used by many or at least optimize previously implemented features. This would make things easier for our testers who have to compile binaries many times. Optimizations are always better for any code base as big as ES. Let me know what you 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

      TMNTturtlguyT 1 Reply Last reply Reply Quote 3
      • TMNTturtlguyT
        TMNTturtlguy @Hex
        last edited by

        @Hex I think cleaning up is great, but how do we determine what features we can axe and which features are not used by many users? I would hate to remove something from someone's setup after they had spent a lot of time setting up their build just the way they want it! There is a "catch 22" as users can get their build just right and have no reason to update, until that new cool theme gets released which uses some new feature, the user is forced to update for the new theme to work, it would be terrible for them to update only to find it removes or breaks some setting they previously used, even if not many users use it. That said, I agree we need to find a way to keep ES a manageable size. Thanks!

        1 Reply Last reply Reply Quote 0
        • OmnijaO
          Omnija
          last edited by

          I vote we remove ES logging if something had to be removed. (i hate logs)

          Systems: Raspberry Pi 2
          Overclocked: 1050 | 525 | 350 | 425 | 256
          My Themes: Metro Theme | Simpler Turtlepi | Future Mini

          TMNTturtlguyT 1 Reply Last reply Reply Quote 0
          • TMNTturtlguyT
            TMNTturtlguy @Omnija
            last edited by

            @Omnija what? How would we check and trouble shoot issues?

            OmnijaO 1 Reply Last reply Reply Quote 0
            • OmnijaO
              Omnija @TMNTturtlguy
              last edited by Omnija

              @TMNTturtlguy you don't xD. I don't ever have es issues... with the exception of es flooding telling me games are missing.

              Systems: Raspberry Pi 2
              Overclocked: 1050 | 525 | 350 | 425 | 256
              My Themes: Metro Theme | Simpler Turtlepi | Future Mini

              1 Reply Last reply Reply Quote 0
              • BuZzB
                BuZz administrators
                last edited by

                I don't think that here is anything that could be removed and it would make little difference to compile time imho. Binaries are kept up to date for rpi users.

                To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                1 Reply Last reply Reply Quote 2
                • mediamogulM
                  mediamogul Global Moderator
                  last edited by

                  As just a matter of redundancy, isn't the 'Surprise Me!' menu listing functionally identical to pressing the 'x' button, or does it serve a unique purpose of some kind?

                  RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                  Z lostlessL 2 Replies Last reply Reply Quote 2
                  • J
                    jdrassa
                    last edited by

                    A working cross compile would be the ideal solution. Then we could set up automated builds.

                    Get latest build of EmulationStation for Windows here

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

                      @mediamogul I was going to bring up the same thing, as we have the shortcut, there is little use for this menu item.

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

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

                        The only useless thing i can think of is the Thumbnail field from the Metadata section.

                        1 Reply Last reply Reply Quote 1
                        • cyperghostC
                          cyperghost
                          last edited by cyperghost

                          @hex @pjft
                          Can you estimate which functions seems to have heavy weight in source code? I think the removal of the "Surprise me feature!" is nearly effectless.... seems that this are only a few lines of code.

                          Scraper feature
                          OMX Player support
                          Metadata editor

                          I may worth a look to extract this features out and integrate them in an extra binary that is called within ES. So we call about kind of dll or an ES with advanced APIs

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

                            I think metadata editor is not that important as you can always remove sdcard and edit the MD

                            Since random game is handled by X removing the corresponding menu item is not a problem.

                            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 TMNTturtlguyT 2 Replies Last reply Reply Quote 0
                            • cyperghostC
                              cyperghost @Hex
                              last edited by

                              @Hex Scraping can be resolved by external programm!
                              You click on one entry in Gameslist and want to scrape this then you give call to external programm >> remove possible

                              The Scraper itself can also be removed to external program!

                              1 Reply Last reply Reply Quote 0
                              • TMNTturtlguyT
                                TMNTturtlguy @Hex
                                last edited by

                                @Hex I disagree, I use the metadata editor frequently. Every now and the I find an error in the scrape, or the games with Multiple versions like Mortal Kobat Mortal Kombat II and Mortal Kombat 3 are listed out of order because of there actual names mix number and letters. I use the meta data editor to make changes on the fly without having to go to my computer. I also like to change game ratings from the editor. This is another example of things that you might think most people don't use, but for those of us that do, it will make us unhappy. Sorry to be negative as I know you are trying hard to come up with a positive fix for us.

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

                                  @cyperghost I am of the opinion that scrapper editor should be replaced by scrap this game now option. so it is possible to run scrapper with a single game only

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

                                    @TMNTturtlguy This thread is to get your opinions. It doesnt offend me if your opinion contradicts mine.

                                    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
                                    • ?
                                      A Former User
                                      last edited by

                                      Removing features is a bad idea period. I can't imagine any single feature is leading to code bloat and removing a feature is the slipperiest of slopes.

                                      That's my two cents.

                                      HexH cyperghostC 2 Replies Last reply Reply Quote 0
                                      • HexH
                                        Hex @A Former User
                                        last edited by

                                        @LiveFastCyYoung said in Removing unused features:

                                        Removing features is a bad idea period. I can't imagine any single feature is leading to code bloat and removing a feature is the slipperiest of slopes.

                                        That's my two cents.

                                        I am also of the same opinion but there comes a time when things start getting too extensive.

                                        Based on these comments

                                        1. Random game in menu can be removed as it is duplicated by a key binding.
                                        2. No feature can be removed
                                        3. Code must be simplified/optimized somehow (reworked).

                                        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
                                        • cyperghostC
                                          cyperghost @A Former User
                                          last edited by cyperghost

                                          @LiveFastCyYoung @TMNTturtlguy
                                          This is just a thread we discuss what is possible and what not.
                                          It's worth to think about. What will really happen nobody knows - but there is need to maintain code.

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

                                            The trigger for this was mostly the ever increasing amount of RAM neede to compile ES.
                                            Part of this is due to increased code complexity. Another part is due to CLOAD (coding-like-on-a-desktop), while the raspberry-pi cannot deliver the same amount of 'umph' as our big boys.
                                            For example we've recently included another boost library, to enable regexp. We are also rather free with the include scope, and sparse with forward declarations when possible. I feels there is quite a lot to be optimized in that regard, before we even need to start thinking about removing functionality.

                                            Further splitting up the code base into core, app, scraper/MD editor, might help a bit, not sure how much.

                                            Still think we should clean up the menus, and remove the "surprise me" entry, because it's a leftover from a bygone era (before the introduction of the hotkey).

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

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