Auto-Optimize Base Tick Rate

ilikegoodfood

Well-Known Member
Oct 9, 2014
461
421
475
United Kingdom
As per @Jamie 's request, here the first of an attempted improvement to the speed of crafting.

This idea is dependent on three things:
  1. The tick rate of all production blocks can be changed in a single action.
  2. The game is able to measure the amount of system time a tick has taken.
  3. The process of checking tick-length against system time isn't too CPU intensive, as this would negate any possible gains.
The idea is relatively simple but the implementation may not be:
When an object starts moving along a conveyor, the base-tick rate is default.
After the first tick, it records the system time the tick took and increases the tick rate.
It continues to do this until either nothing is moving along the conveyors, or the new tick took longer than the last tick.

Since increasing the tick rate increases the speed of things moving through the crafting system, it should speed up. This also uses up an ever increasing amount of CPU time, so the frame rate will go down.
As long as the tick is taking less system time than the one before it, the combined effect of increased tick-rate and reduced frame-rate is creating a positive increase in crafting speed. The moment a tick takes longer than the one before it, the effect of the increase in tick-rate is exceeded by the decline in frame-rate, and the speed is locked until that crafting operation is completed.

This COULD result in a fairly small function increasing the overall crafting speed by some small amount, regardless of PC quality, as on lower end PCs it will immediately recognize that the base speed was better.

Of course, if the function to check and change tick-rate uses up too much CPU time, then this would reduce the efficiency of the entire system, so it is dependent on some testing.

I hope that this is an interesting, if not useful, suggestion.
Feedback from more knowledgeable folks is very welcome.
 

Lord Zarnox

Founder of the IFTTES
May 31, 2017
1,865
2,415
520
22
Australia
As someone who has experienced lag every time the tick occurs, yes. Just yes. FYI, of the minimum 4GB of memory required, my computer has only 3.8GB to spread among all non-essential processes, with an average of 1.7GB used on the game. Still works though, just long load times.
 
P

Pink Kitty

Guest
Seems a bit complex.

How about what they have planned: a Pacemaker block that speeds up the heartbeat?
Add more, go faster.
You choose how fast it all ends up?
 
  • Like
Reactions: Jamie and Masakari

Lord Zarnox

Founder of the IFTTES
May 31, 2017
1,865
2,415
520
22
Australia
Seems a bit complex.

How about what they have planned: a Pacemaker block that speeds up the heartbeat?
Add more, go faster.
You choose how fast it all ends up?
I believe what they are saying is that you let the game figure out the best balance between conveyor speed and performance/framerate, by testing how well the computer handles the load of computing every resource interaction every tick. It wouldn't make much sense to require a block to optimise performance rather than optimising performance anyway.