Mod quality & performance stats
Moderator: ickputzdirwech
-
- Fast Inserter
- Posts: 153
- Joined: Fri Jan 06, 2017 1:54 am
- Contact:
Mod quality & performance stats
Mod quality & performance stats:
- Timespan a mod takes in game loading
Why: my Factorio loads 5-7 minutes on Ryzen 3900x. How do I know which mods should I disable to make it faster?
- Overall RAM usage per mod in game
Why: i had times when game crushed on deathworlds having more than 32Gb RAM in use. I don't know which mod caused this.
- Overall CPU usage per mod in game
This statistics should be gathered and sent to mod portal, so users and modders could know if specific mod is or isn't "hungry" for RAM/CPU/Game start time.
How to measure: in % compared to base mod, average between all modded games, show all 3+1 specs (RAM/CPU/Game start time + number of issues solved on portal) on mod portal.
THE WHY:
- Just measuring this will increase the quality of all mods.
- Can have an aggregated stat "quality" composed of all other stats
- I want to see when a new good mod appears, even if it's small and not yet reviewed/trending. For now I just guided by authors (Klonan makes good mods:))
- Timespan a mod takes in game loading
Why: my Factorio loads 5-7 minutes on Ryzen 3900x. How do I know which mods should I disable to make it faster?
- Overall RAM usage per mod in game
Why: i had times when game crushed on deathworlds having more than 32Gb RAM in use. I don't know which mod caused this.
- Overall CPU usage per mod in game
This statistics should be gathered and sent to mod portal, so users and modders could know if specific mod is or isn't "hungry" for RAM/CPU/Game start time.
How to measure: in % compared to base mod, average between all modded games, show all 3+1 specs (RAM/CPU/Game start time + number of issues solved on portal) on mod portal.
THE WHY:
- Just measuring this will increase the quality of all mods.
- Can have an aggregated stat "quality" composed of all other stats
- I want to see when a new good mod appears, even if it's small and not yet reviewed/trending. For now I just guided by authors (Klonan makes good mods:))
Re: Mod quality & performance stats
This is tricky. Despite almost everyone doing so, automatic data collection and sending is increasingly frowned upon - and illegal in some places of the world. I remember the shitstorm when the devs activated by default the option to send logs upon crash.thelordodin wrote: ↑Sun Oct 10, 2021 8:32 am This statistics should be gathered and sent to mod portal
There should be an option, ideally opt-in, and the devs would have to ensure no personal data is collected in the process.
All that being said, I don't think many people would activate the option themselves.
Koub - Please consider English is not my native language.
Re: Mod quality & performance stats
Timinig statistics can be shown F4 -> show-time-usage with scripts broken down per mod. Just send the mod author a screenshot and savegame if it consumes too much.
-
- Fast Inserter
- Posts: 153
- Joined: Fri Jan 06, 2017 1:54 am
- Contact:
Re: Mod quality & performance stats
You can just segmentate users: the ones who enable will see the marks, the ones who dont - wont see them.Koub wrote: ↑Sun Oct 10, 2021 9:28 amThis is tricky. Despite almost everyone doing so, automatic data collection and sending is increasingly frowned upon - and illegal in some places of the world. I remember the shitstorm when the devs activated by default the option to send logs upon crash.thelordodin wrote: ↑Sun Oct 10, 2021 8:32 am This statistics should be gathered and sent to mod portal
There should be an option, ideally opt-in, and the devs would have to ensure no personal data is collected in the process.
All that being said, I don't think many people would activate the option themselves.
The choise should be done when user opens "mods".
Also if he picked "Don't send" - ask him again just 3 times, once a month. This way most users will chooser "send".
Re: Mod quality & performance stats
You can actually see, which mod takes time in the progress bar.thelordodin wrote: ↑Sun Oct 10, 2021 8:32 am Mod quality & performance stats:
- Timespan a mod takes in game loading
Why: my Factorio loads 5-7 minutes on Ryzen 3900x. How do I know which mods should I disable to make it faster?
Maybe also have a look into the log-file.
The other way is disable mods and see, how fast it gets. And enable one by one.
Just for reference, My seablock mod pack (50 mods), loads in 20 sec. from a SSD,. with 5-7 min. something is really screwed.
BTW: If you got the mod merging-chests or Wide chests by chance, the default settings are(or were at least) insane. You have to lower chest size
-
- Fast Inserter
- Posts: 153
- Joined: Fri Jan 06, 2017 1:54 am
- Contact:
Re: Mod quality & performance stats
Strange... I have really fast SSD (Samsung 970evo plus) and still have this issue. I'll try looking into logs as you suggested.
Disabling one by one isnt an option, because each will cost about 5 minutes x 50 mods is 250 minutes = 2.5 hours just to find reason...
Re: Mod quality & performance stats
It would usualy get activated when players run into trouble, which is exactly the moment when this info would be welcome. For those who never run into issues, there is no need to activate it as to them the mod works fine. Sure, they can face the same issue and have an effectively slower game, but they might simply not notice it. As in the end, what is an acceptable framerate depends on the player.
Automaticly sending the info to the dev isnt always needed for that, as its most of the time the mod itself being the cause (and the log should reveal that), and usualy just deactivating that mod would be enough. And adding a button/console command for that might be enough to generate a file that can be sent (a logfile someone can post on the forums). You can put an automated system for this, but i think that issues in this game are rare enough to not need that.
Re: Mod quality & performance stats
It would help, if you'd disable all mods and check how long that goes. This should not work for 5 min. If it's still that long, then it's not a problem with mods...thelordodin wrote: ↑Mon Oct 11, 2021 8:04 amStrange... I have really fast SSD (Samsung 970evo plus) and still have this issue. I'll try looking into logs as you suggested.
Disabling one by one isnt an option, because each will cost about 5 minutes x 50 mods is 250 minutes = 2.5 hours just to find reason...
Re: Mod quality & performance stats
If you think the issue might be caused by a single mod, dichotomy is the king. Instead of doing it mod by mod, do it with half the mods. If the issue persists, the culprit is in the 50% still active mods. if not, it's in the 50% deactivated mods. Rince and repeat. You're guaranteed to find the problematic mod in 6 tries for a 50 mods pack.thelordodin wrote: ↑Mon Oct 11, 2021 8:04 amStrange... I have really fast SSD (Samsung 970evo plus) and still have this issue. I'll try looking into logs as you suggested.
Disabling one by one isnt an option, because each will cost about 5 minutes x 50 mods is 250 minutes = 2.5 hours just to find reason...
Koub - Please consider English is not my native language.
Re: Mod quality & performance stats
Disable half. That only takes 5 minutes * 6 = 30 minutes. And that's assuming it's the last mod costing all the time and every run takes 5 minutes.thelordodin wrote: ↑Mon Oct 11, 2021 8:04 amStrange... I have really fast SSD (Samsung 970evo plus) and still have this issue. I'll try looking into logs as you suggested.
Disabling one by one isnt an option, because each will cost about 5 minutes x 50 mods is 250 minutes = 2.5 hours just to find reason...
With 50 mods and 5 minutes loading time each mod should take 6 seconds average on the loading screen. Now that is split by data, data-fixes, data-final-fixes and loading sprites and audio. And most mods should flicker just past. Isn't there any that remain listed on the loading screen longer than others?
Re: Mod quality & performance stats
Much better. Each doubling of mods need one extra try. On the other hand, if it's a combination of mods, there are 2^50 (~1e15) of them to try... Each extra mod needs double the tries!Koub wrote: ↑Mon Oct 11, 2021 1:02 pm If you think the issue might be caused by a single mod, dichotomy is the king. Instead of doing it mod by mod, do it with half the mods. If the issue persists, the culprit is in the 50% still active mods. if not, it's in the 50% deactivated mods. Rince and repeat. You're guaranteed to find the problematic mod in 6 tries for a 50 mods pack.
But the first thing to do is to look in the log file, which has timestamps for mod loading events.
Re: Mod quality & performance stats
Naaah too mainstream. Who reads logs nowadays ?
Now I feel stupid not to have thought about this.
Koub - Please consider English is not my native language.
Re: Mod quality & performance stats
As already mentioned you can look into the factorio current log.thelordodin wrote: ↑Sun Oct 10, 2021 8:32 am Mod quality & performance stats:
- Timespan a mod takes in game loading
Why: my Factorio loads 5-7 minutes on Ryzen 3900x. How do I know which mods should I disable to make it faster?
https://wiki.factorio.com/Log_file
This is hard to tell. Because if you store for example some extra information in a tile (a piece of ground) you cannot clearly distinguish if it belongs to the mod or the game.- Overall RAM usage per mod in game
Why: i had times when game crushed on deathworlds having more than 32Gb RAM in use. I don't know which mod caused this.
Can be seen in debug view. https://wiki.factorio.com/Debug_mode- Overall CPU usage per mod in game
Bad idea. Because that is extremely dependent on how you use the game and how the concept of the mod is.This statistics should be gathered and sent to mod portal, so users and modders could know if specific mod is or isn't "hungry" for RAM/CPU/Game start time.
If the mod adds just a new entity (a new type of solar cell for example), it don’t uses any cpu, but you can place it down million of times and then it might use more cpu.
I tend to move this to “implemented”.
no, you can’t measure this for comparisons, the differences between the games are too high.- Just measuring this will increase the quality of all mods.
That’s not a quality. The quality of a mod is measured by how fun it is to play with it. Or how this integrates into other mods. And many, many more.- Can have an aggregated stat "quality" composed of all other stats
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Mod quality & performance stats
I think, the game engine could be able to distinguish, which mod adds which field in a prototype and what's the result in RAM usage. But I'm not sure, if it's worth. It might introduce more overheadssilk wrote: ↑Mon Oct 11, 2021 11:16 pmThis is hard to tell. Because if you store for example some extra information in a tile (a piece of ground) you cannot clearly distinguish if it belongs to the mod or the game.- Overall RAM usage per mod in game
Why: i had times when game crushed on deathworlds having more than 32Gb RAM in use. I don't know which mod caused this.
Re: Mod quality & performance stats
Since when can a mod add anything to the prototype? They can change the value of existing properties (some of which might be nil and not in the lua table). But I doubt the C++ structure it all gets parsed into is flexible in size.jodokus31 wrote: ↑Tue Oct 12, 2021 6:53 amI think, the game engine could be able to distinguish, which mod adds which field in a prototype and what's the result in RAM usage. But I'm not sure, if it's worth. It might introduce more overheadssilk wrote: ↑Mon Oct 11, 2021 11:16 pmThis is hard to tell. Because if you store for example some extra information in a tile (a piece of ground) you cannot clearly distinguish if it belongs to the mod or the game.- Overall RAM usage per mod in game
Why: i had times when game crushed on deathworlds having more than 32Gb RAM in use. I don't know which mod caused this.
Re: Mod quality & performance stats
Not sure, I would at least assume, that some properties have dynamic size, like strings, images or arrays of something, etcmrvn wrote: ↑Tue Oct 12, 2021 3:25 pmSince when can a mod add anything to the prototype? They can change the value of existing properties (some of which might be nil and not in the lua table). But I doubt the C++ structure it all gets parsed into is flexible in size.jodokus31 wrote: ↑Tue Oct 12, 2021 6:53 amI think, the game engine could be able to distinguish, which mod adds which field in a prototype and what's the result in RAM usage. But I'm not sure, if it's worth. It might introduce more overheadssilk wrote: ↑Mon Oct 11, 2021 11:16 pmThis is hard to tell. Because if you store for example some extra information in a tile (a piece of ground) you cannot clearly distinguish if it belongs to the mod or the game.- Overall RAM usage per mod in game
Why: i had times when game crushed on deathworlds having more than 32Gb RAM in use. I don't know which mod caused this.
Re: Mod quality & performance stats
Totally, those will be pointers to the data eventually. I assume std::string is used for strings and std::vector for arrays and such.jodokus31 wrote: ↑Tue Oct 12, 2021 3:32 pmNot sure, I would at least assume, that some properties have dynamic size, like strings, images or arrays of something, etcmrvn wrote: ↑Tue Oct 12, 2021 3:25 pmSince when can a mod add anything to the prototype? They can change the value of existing properties (some of which might be nil and not in the lua table). But I doubt the C++ structure it all gets parsed into is flexible in size.jodokus31 wrote: ↑Tue Oct 12, 2021 6:53 amI think, the game engine could be able to distinguish, which mod adds which field in a prototype and what's the result in RAM usage. But I'm not sure, if it's worth. It might introduce more overheadssilk wrote: ↑Mon Oct 11, 2021 11:16 pmThis is hard to tell. Because if you store for example some extra information in a tile (a piece of ground) you cannot clearly distinguish if it belongs to the mod or the game.- Overall RAM usage per mod in game
Why: i had times when game crushed on deathworlds having more than 32Gb RAM in use. I don't know which mod caused this.
Another thing: prototypes exist only once. So their memory footprint is not really anything to judge by. The is one inserter prototype but a million inserters.
I think what would be interesting would be the global table for each mod. If it is tagging on extra data to entities then that is where it gets stored. If every inserter gets put into a mods global table then you would notice that in the size.
Re: Mod quality & performance stats
What I meant is, that I have in my mod a hash-table, the hash points to the ID of the entity. So seen it’s clear, that this memory is used by the mod, and the thought that it could be counted to the game is stupid.
And it’s also clear, that it is easy to count, how much memory a mod needs. I would distinguish between local storage and memory that needs to be included into the save.
And it’s also clear, that it is easy to count, how much memory a mod needs. I would distinguish between local storage and memory that needs to be included into the save.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Mod quality & performance stats
Oh yeah, you can have memory needed temporarily while processing an event too. Although any noticeable memory consumption there would also have a noticable time consumption. Your game would freeze if the mod fills 1GB of memory with data in some event.ssilk wrote: ↑Sat Oct 16, 2021 7:21 am What I meant is, that I have in my mod a hash-table, the hash points to the ID of the entity. So seen it’s clear, that this memory is used by the mod, and the thought that it could be counted to the game is stupid.
And it’s also clear, that it is easy to count, how much memory a mod needs. I would distinguish between local storage and memory that needs to be included into the save.
Or memory used longer time but not saved and reconstructed on load. Stuff to speed up running the mod.
-
- Smart Inserter
- Posts: 2768
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: Mod quality & performance stats
Personal usage statistics is good, but sharing it up online I feel as though would not have the intended result. Different hardware will have different results, even if you could reliably tell every time how much of the usage was base vs mod (the mod may add 10% to computer A, but computer B it adds 20%). Then you also have the interactions between mods that may inflate these (they’re not necessarily either mod’s fault).
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics