Page 1 of 1

Performance statistics question

Posted: Thu Apr 16, 2015 6:46 pm
by orzelek
I'm a bit curious - question about time used percent statistics block.

What is the Flip line responsible for?
It seems to take a lot more time then anything else there.

Re: Performance statistics question

Posted: Fri Apr 17, 2015 12:10 pm
by pyrolytic_tungsten
My understanding is that flip refers to the rendered graphics in the buffer being swapped to what is being displayed. See https://forums.factorio.com/forum/vie ... =49&t=7972 or http://en.wikipedia.org/wiki/Multiple_b ... e_flipping. It shouldn't take long more than a few msec per frame unless you have a weak graphics card. With my Geforce 750 Ti my flip time stays below .4 msec.

What graphics card do you have?

Re: Performance statistics question

Posted: Fri Apr 17, 2015 12:37 pm
by kovarex
The vsync is done in the flip, so it can take long only because the game is waiting for another 60 fps mark.

Re: Performance statistics question

Posted: Fri Apr 17, 2015 12:56 pm
by SHiRKiT
Also, can we somehow track down what entities takes the most time to be computed? I have a huge factory with lots of inserters, bots and belts and trains. My game is starting to slow down to 50-55 UPS, and that annoys me. I removed a few mods already since they are not optimzed as game entities, but I'd like to know which parts of my factory (assemblers, inserters, bots, belts, trains) are responsible for for my dropdown. Can we get those numbers in the Debug menu somehow? Cause if I know what's wrong, I can try to replace things to optmize them a bit (but fewer assemblers 2 and replace them with level 3 or higher with modules, for instance).

Re: Performance statistics question

Posted: Fri Apr 17, 2015 1:10 pm
by kovarex
SHiRKiT wrote:Also, can we somehow track down what entities takes the most time to be computed? I have a huge factory with lots of inserters, bots and belts and trains. My game is starting to slow down to 50-55 UPS, and that annoys me. I removed a few mods already since they are not optimzed as game entities, but I'd like to know which parts of my factory (assemblers, inserters, bots, belts, trains) are responsible for for my dropdown. Can we get those numbers in the Debug menu somehow? Cause if I know what's wrong, I can try to replace things to optmize them a bit (but fewer assemblers 2 and replace them with level 3 or higher with modules, for instance).
The problem is, that more precise measuring, like measuring the time of the update time of all the belts and inserters would affect the performance itself.
In common games, usually all the common things take a little, like transport belts, inserters etc.

From time to time, I do the C++ profiling on big saves to see what needs to be optimised, so I can take a look at your save as well if you upload it.
Actually I'm currently working on the update time optimisations, I did 2 big changes and now the update time is 28% down compared to the 0.11 for my test factories. I'm planning to do more stuff, and big factories are great for the testing.

Re: Performance statistics question

Posted: Fri Apr 17, 2015 9:38 pm
by GewaltSam
kovarex wrote:Actually I'm currently working on the update time optimisations, I did 2 big changes and now the update time is 28% down compared to the 0.11 for my test factories. I'm planning to do more stuff, and big factories are great for the testing.
Is it better for your needs if they are built in vanilla factorio, or is it fine if some of the more common mods are used?

Re: Performance statistics question

Posted: Sat Apr 18, 2015 12:16 am
by kovarex
GewaltSam wrote:
kovarex wrote:Actually I'm currently working on the update time optimisations, I did 2 big changes and now the update time is 28% down compared to the 0.11 for my test factories. I'm planning to do more stuff, and big factories are great for the testing.
Is it better for your needs if they are built in vanilla factorio, or is it fine if some of the more common mods are used?
Well, vanilla is better, but if the mods are not performance heavy and are also provided, than it might be good as well.

Re: Performance statistics question

Posted: Sat Apr 18, 2015 12:47 am
by SHiRKiT
kovarex wrote:
SHiRKiT wrote:Also, can we somehow track down what entities takes the most time to be computed? I have a huge factory with lots of inserters, bots and belts and trains. My game is starting to slow down to 50-55 UPS, and that annoys me. I removed a few mods already since they are not optimzed as game entities, but I'd like to know which parts of my factory (assemblers, inserters, bots, belts, trains) are responsible for for my dropdown. Can we get those numbers in the Debug menu somehow? Cause if I know what's wrong, I can try to replace things to optmize them a bit (but fewer assemblers 2 and replace them with level 3 or higher with modules, for instance).
The problem is, that more precise measuring, like measuring the time of the update time of all the belts and inserters would affect the performance itself.
In common games, usually all the common things take a little, like transport belts, inserters etc.

From time to time, I do the C++ profiling on big saves to see what needs to be optimised, so I can take a look at your save as well if you upload it.
Actually I'm currently working on the update time optimisations, I did 2 big changes and now the update time is 28% down compared to the 0.11 for my test factories. I'm planning to do more stuff, and big factories are great for the testing.
I have removed quite a bit of unused stuff and started a whole factory rebuilding plan to reduce the lag (I don't tolerate playing at lower than 58-59 UPS). I'll rebuild my base (for the second time :D ) and I'll share the save later on. I'd love to know how to see who will drain performance, so I'll certainly do that.

Other solution is to allow something that can be attached to the Factorio client to allow this to be seen. Or even maybe doing some region stuff and distribute a profiling executable, that will run at a lower UPS, but would log the activity of a factory.

Anyways, thanks for sharing the info on the weekly FF. It impress me every time to see you guys always reading and listening to us.