If servers handle the machine calculations, why does my FPS drop in my base?

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here
  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

zorn

New Member
Jul 29, 2019
627
0
0
I was just told this, and have heard it before. When playing on a server, it handles 'the calculations' that tech mod machines need to do (or vanilla hoppers, etc.). No one can explain it in more depth than this though, so im wondering if someone here knows. The last guy said that a pc 'couldnt handle' all of the calculations done without a server and a SSP player's computer would just grind to a halt.

The theory told to me was that on SMP, the server handles the calculations for power, timers on how long apiece of charcoal burns, etc. the client 'renders' the blocks. If this were true, why do Railcraft boilers make my FPS drop? Shouldnt your FPS be about the same anywhere on an SMP world then, if all my client is doing is rendering the block itself? a boiler, to my client, should take no more resources than a group o oak plank blocks, if the server is handling all of the other work required by a machine, right?

Anyway, does anyone know the answer? How does a SMP world work differently than SSP? Do they just share the load? Or do servers handle 100% of the calculations required by 'active' blocks?
 

Feniks

New Member
Jul 29, 2019
356
0
0
As far as my understanding is server handles calculations but also server speed afects your fps so more calculations server has to do the less frame per sec it is able to streem to your computer so therfore your fps drops.
 

ESchrodingersCat

New Member
Jul 29, 2019
20
0
0
There are a number of factors that go into whether your fps is high or low. Some of it is server side, some of it is client side, and some of it is whether your graphics card can handle the rendering. If my understanding is correct, although the server handles most of the calculations, it still has to communicate those calculations to your client. The more communication attempts, the more processing time it takes. Thus, because railcraft boilers are updating every tick, they slow your client down because they have to communicate with your client every tick. If you're not in a chunk that's nearby the boilers, your client stops requesting that information, and you therefore experience less lag. A pile of wood planks, on the other hand, only tries to communicate with your client when there's a nearby block update.
 

Quesenek

New Member
Jul 29, 2019
396
0
0
I have no idea the solid facts about things but I find that machines that emit light like an AE system are most damaging to a client I have my smooth lighting on minimum and it makes SOOO much of a difference when in my base with all my AE devices I suspect the boiler is more of the same deal.
I can however say that running a server on a dedicated machine helps way more than people think. I can jump into a SSP world for monster and with nothing running at all I get tick lag like its no tomorrow. My SMP world is as smooth as butter even when I'm running really low FPS in my base.

Also run /cofh tps or /forge tps to check your ticks per second your server may not be keeping up when your boilers are running. If you have mystcraft chunkloaded liquid worlds will make your server lag also.

Ps, the problem my be that the server even servers on the same network my not be able to send the information to your client fast enough for it to register which may or may not make your game lag/fps drop.
 

Neirin

New Member
Jul 29, 2019
590
0
0
Even with a server handling all the computations, your client still needs to render stuff. Since your base is going to be the most built up area and there're likely all sorts of lighting updates and items moving around, this is naturally the most demanding area for your computer to render.

For example: bees have particle effects running while active. A few particles aren't so bad, but if you have 50 apiaries running simultaneously, that's a hell of a lot of particles that your computer needs to render regardless of whether a server is doing the computations or not.

Keep in mind that, although the graphics look simple, Minecraft is actually pretty rough on graphics processors.
 
  • Like
Reactions: Quesenek

Bomb Bloke

New Member
Jul 29, 2019
612
0
0
As far as my understanding is server handles calculations but also server speed afects your fps so more calculations server has to do the less frame per sec it is able to streem to your computer so therfore your fps drops.
No. Just no.

"Lag" and "poor frame rates" are two terms that are thrown around these forums incorrectly all the time. Bugs me no end.

The server doesn't do any frame rendering at all. That's entirely up to the client. If your frame rate is bad (the game is "stuttering" because the screen isn't updating fast enough), then forget about everything server/network related - it'll either be related to your hardware, or drivers, or some other software running on your computer, a mod, or any combination thereof. The key is that it has something to do with your system, not the server.

Lag is where events happening in your client are slow to reach the server, and events happening on the server are slow to reach your client. For example, you dig out a block, and it takes a few seconds for this to appear on someone else's screen - that's due to lag. Really bad lag leads to the server refusing to accept the block was dug out at all, and so it pops back into your world some time after you dig it. Lag can be caused by a bad network connection (say someone on your network is chewing up all your bandwidth, or your host company is having problems of their own), or an overloaded server (too many players, or a malfunctioning mod, or entity spam, or various other things).

You can have really bad lag and a perfect frame rate. You can also have a really bad frame rate and no lag. The two issues have very little to do with each other.

And no, it's not the case that a PC "can't handle" server-side code. It's perfectly possible to run a server and a client on the one machine at the same time with no slow-down... assuming you've got even a half-way decent gaming rig. In fact, this is pretty much how single-player MineCraft works, and how it has done since version 1.3.
 

Quesenek

New Member
Jul 29, 2019
396
0
0
No. Just no.

"Lag" and "poor frame rates" are two terms that are thrown around these forums incorrectly all the time. Bugs me no end.

The server doesn't do any frame rendering at all. That's entirely up to the client. If your frame rate is bad (the game is "stuttering" because the screen isn't updating fast enough), then forget about everything server/network related - it'll either be related to your hardware, or drivers, or some other software running on your computer, a mod, or any combination thereof. The key is that it has something to do with your system, not the server.

Lag is where events happening in your client are slow to reach the server, and events happening on the server are slow to reach your client. For example, you dig out a block, and it takes a few seconds for this to appear on someone else's screen - that's due to lag. Really bad lag leads to the server refusing to accept the block was dug out at all, and so it pops back into your world some time after you dig it. Lag can be caused by a bad network connection (say someone on your network is chewing up all your bandwidth, or your host company is having problems of their own), or an overloaded server (too many players, or a malfunctioning mod, or entity spam, or various other things).

You can have really bad lag and a perfect frame rate. You can also have a really bad frame rate and no lag. The two issues have very little to do with each other.

And no, it's not the case that a PC "can't handle" server-side code. It's perfectly possible to run a server and a client on the one machine at the same time with no slow-down... assuming you've got even a half-way decent gaming rig. In fact, this is pretty much how single-player MineCraft works, and how it has done since version 1.3.
Yeah as long as you have enough ram to share between both the server and the client there's no problem.
 

DeathGoth

New Member
Jul 29, 2019
100
0
0
Thank god for that 3 dollar tomato I run my game on and server.. I was geeked as hell when I got 3 and a half fpm.. Yes boys and girls per minute.
 

verid

New Member
Jul 29, 2019
53
0
0
I just want to mention an often overlooked culprit of FPS slowdowns: SOUND. Somehow, Minecraft's inefficient sound engine plus a variety of mod sounds (particularly machine sounds which repeat) can cause huge FPS slowdowns.
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
A quite good measure is to not build too compact. Try and spread your main base out a bit over more chunks. Yes this means you are going to have to chunkload more chunks, but the contents of the chunks are for all purposes going to be the same so it wont affect the server adversely in any measurably degree.
The game might be set to render at "Normal" or "Far" distance, but afaik it actually only renders all details in a much smaller radius(couple of chunks). But I think it renders it EVERYTHING in that chunk from sky to bedrock. So if you concentrate your entire base in that one chunk, you are rendering everything it full detail which will cause havoc on fps. Instead try and spread it out over perhaps 25 chunks so that at any time you are only "detail rendering" a small portion of your base at the time. That will help your FPS a great deal.
 

zorn

New Member
Jul 29, 2019
627
0
0
Well here is my example: A big set up of railcraft boilers, say 40 of them. I had this set up in my ultimate world and put it a few chunks away from my main base.

My main base was a huge huge AE network (1.4.7) and a full gregtech setup, plus a MFR harvester sugar cane farm that would get me 45K sugar cane per hour. 8 harvesters on a 20 x 10 farm. Thats a lot of stuff going on, right? All this is in one area, the other area I put 40 boilers, power converters, and cables and 1 matter fab.

Both areas would see my FPS drop quite a bit. And in between the two, my fps would go up. If the server is handling the 'calculations', why would my fps drop for 50 boilers the same as a big base would? and even then, in the base, the only real activity was the farm, there were no BC pipes at all for my client to have to deal with. it was all almost static items. Ive heard that older AE cables caused lighting up dates, so that would affect things. But the boilers.. the only thing that my client seems to hvae to deal with is the animation of the boiler boxes, isnt it?

So to me it seems that the client and server share the calculations done by the machines. I guess a mod dev or someone would probably be the only one who might know the answer to this specificially. It just seems that if the client handled ONLY the graphics and not the calculations done by the machines and pipes, cables, etc.... then bases shouldnt cause such an FPS drop. Right?
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
Well here is my example: A big set up of railcraft boilers, say 40 of them. I had this set up in my ultimate world and put it a few chunks away from my main base.

My main base was a huge huge AE network (1.4.7) and a full gregtech setup, plus a MFR harvester sugar cane farm that would get me 45K sugar cane per hour. 8 harvesters on a 20 x 10 farm. Thats a lot of stuff going on, right? All this is in one area, the other area I put 40 boilers, power converters, and cables and 1 matter fab.

Both areas would see my FPS drop quite a bit. And in between the two, my fps would go up. If the server is handling the 'calculations', why would my fps drop for 50 boilers the same as a big base would? and even then, in the base, the only real activity was the farm, there were no BC pipes at all for my client to have to deal with. it was all almost static items. Ive heard that older AE cables caused lighting up dates, so that would affect things. But the boilers.. the only thing that my client seems to hvae to deal with is the animation of the boiler boxes, isnt it?

So to me it seems that the client and server share the calculations done by the machines. I guess a mod dev or someone would probably be the only one who might know the answer to this specificially. It just seems that if the client handled ONLY the graphics and not the calculations done by the machines and pipes, cables, etc.... then bases shouldnt cause such an FPS drop. Right?
It wasnt just boilers was it? What about steam engines? If you didn't have the sound disabled in the railcraft config for the steam engines those sounds would be causing some serious FPS drops.
 

Bomb Bloke

New Member
Jul 29, 2019
612
0
0
To to me it seems that the client and server share the calculations done by the machines. I guess a mod dev or someone would probably be the only one who might know the answer to this specificially. It just seems that if the client handled ONLY the graphics and not the calculations done by the machines and pipes, cables, etc.... then bases shouldnt cause such an FPS drop. Right?
Why not try Shift+F3, see what the pie chart tells you?
 

Pokefenn

New Member
Jul 29, 2019
976
0
0
Well here is my example: A big set up of railcraft boilers, say 40 of them. I had this set up in my ultimate world and put it a few chunks away from my main base.

My main base was a huge huge AE network (1.4.7) and a full gregtech setup, plus a MFR harvester sugar cane farm that would get me 45K sugar cane per hour. 8 harvesters on a 20 x 10 farm. Thats a lot of stuff going on, right? All this is in one area, the other area I put 40 boilers, power converters, and cables and 1 matter fab.

Both areas would see my FPS drop quite a bit. And in between the two, my fps would go up. If the server is handling the 'calculations', why would my fps drop for 50 boilers the same as a big base would? and even then, in the base, the only real activity was the farm, there were no BC pipes at all for my client to have to deal with. it was all almost static items. Ive heard that older AE cables caused lighting up dates, so that would affect things. But the boilers.. the only thing that my client seems to hvae to deal with is the animation of the boiler boxes, isnt it?

So to me it seems that the client and server share the calculations done by the machines. I guess a mod dev or someone would probably be the only one who might know the answer to this specificially. It just seems that if the client handled ONLY the graphics and not the calculations done by the machines and pipes, cables, etc.... then bases shouldnt cause such an FPS drop. Right?

Boilers have always been a frame-rate killer.
Boiler blocks have a basic model, which the client needs to render, the server then needs to tell the client a lot "hey, render this differently" when it turns into the real multiblock for example, changing the model, now imagine 36*50...
 

Quesenek

New Member
Jul 29, 2019
396
0
0
Ram isn't the sole factor here sad to say
Ram, CPU, and graphics card all have an effect on your frames.
I wasn't talking about frames at all. As long as you have a mid-high end cpu/gpu from the last couple years you'll be fine. Ram however if you don't have enough can ruin your life in twitchy gameplay and what seem like FPS drops but really its your system freeing up resources. Add a server to that issue on the same machine and you'll have fun times.
 

zorn

New Member
Jul 29, 2019
627
0
0
It wasnt just boilers was it? What about steam engines? If you didn't have the sound disabled in the railcraft config for the steam engines those sounds would be causing some serious FPS drops.

I used power converters. I did have one boiler running off of steam engines though, i had forgot about that. But it was in a building, and i could gete the fps drop a few chunks away just standing in the area with boilers, power converters, and cables. Not one single thing moving in sight.[DOUBLEPOST=1393951883][/DOUBLEPOST]
Why not try Shift+F3, see what the pie chart tells you?

is this new, because id swear that ive used f3 100 times and JUST the other day ssaw that pie chart for the first time. I didnt pay much attention though, ill check it out now.
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
is this new, because id swear that ive used f3 100 times and JUST the other day ssaw that pie chart for the first time. I didnt pay much attention though, ill check it out now.
Nah its been there for ages, but you need to enable it in the options or do the shift+F3 to get all the debug things at once.
 

zorn

New Member
Jul 29, 2019
627
0
0
That pie chart doesnt help much, where would i findout what each section means?

Plus, 60% of the CPU (?) usage was "Unspecified" so that doesnt help.
 

LukeWUK

New Member
Jul 29, 2019
87
0
0
In real life . theres 2 computers .. the server and the client. (thats you)

In Minecraft...

Theres the world ... and theres you.


The Server (World) keeps track of everything, it makes sure trees grow, it tracks the items in pipes etc.


That leaves You!!!

You look at an empty field ... (100 simple items) and you pc then draws the screen very fast...

you look at your base (1000 complex items.. moving around all crazy n stuff!) and suddenly it takes a bit longer for your pc to draw the screen!

On the client, it doesn't matter what is happening anywhere else in the world.


Therefore.... in a single player environment (there's just 1 pc doing all) you could have a very fast FPS in a field .... if you then built 1000 boilers somewhere else and came back to the field... as your PC is still calculating all of the boilers it may now be bad FPS there!

In multiplayer, as long as the server was keeping up, you would still have great FPS in the field :)