I'm at a loss for understanding this, and would really appreciate some insight because on the surface this explanation makes no sense to me.Harkonnen wrote:Multiplayer is different in sense that you must catch up with the server all the time, so when you reach 60ups margin, game starts sacrificing rendering frames to stay on same pace with the server. This is a big issue to solve for us because server is frequently a dedicated machine faster than any laptops connecting and server running in headless mode does not have to render anything, so catching up with it is quite a quest on its own. Right now players solve this problem by slowing down game deliberately with something like "/c game.speed=0.9", and further on as game drops below and below 60 ups. The right solution would be to perform some automatic game speed adjustment on server side, we have plans for that.
I fully understand the simple part--if my cpu simply can't run a map at 60ups, it's likely to be because there are too many calculations necessary to process at a given time and it just can't keep up. That's easy to understand.
If there are a finite number of calculations to process at a given time, why am I able to save the map locally and never run into this issue on those same mega-bases that give me a problem when connected to the multiplayer server? There would be additional players on the server in these instances, but never more than about 20, and sometimes only about 5. I have a hard time understanding if those few players (most of whom are just running around or doing minor maintenance) can cause such a substantial increase in the number of calculations necessary to process through, compared to the mega base itself, especially when the explanation is simply that a 7700k is faster than a q9550.
I'm just very stuck on the logistics of why a faster cpu can run a particular mega-base at 60ups, my cpu can save and run the same mega-base locally at 60fps and 60ups just fine, yet when my computer connects to the "faster server", it can no longer run at 60ups on the same mega-base "because the server is faster." What that sounds like, to me, is that "going 60kph in a Ferrari with groceries in the trunk is a substantially faster speed than going 60kph in a Honda with those exact same groceries in the trunk" and I'm really struggling to understand this concept because I'm not a software engineer. Any takers willing to help me understand this?