Removing unused features
-
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.
-
@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!
-
I vote we remove ES logging if something had to be removed. (i hate logs)
-
@Omnija what? How would we check and trouble shoot issues?
-
@TMNTturtlguy you don't xD. I don't ever have es issues... with the exception of es flooding telling me games are missing.
-
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.
-
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?
-
A working cross compile would be the ideal solution. Then we could set up automated builds.
-
@mediamogul I was going to bring up the same thing, as we have the shortcut, there is little use for this menu item.
-
The only useless thing i can think of is the Thumbnail field from the Metadata section.
-
@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 editorI 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
-
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.
-
@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 possibleThe Scraper itself can also be removed to external program!
-
@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.
-
@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
-
@TMNTturtlguy This thread is to get your opinions. It doesnt offend me if your opinion contradicts mine.
-
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.
-
@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
- Random game in menu can be removed as it is duplicated by a key binding.
- No feature can be removed
- Code must be simplified/optimized somehow (reworked).
-
@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. -
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).
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.