[HELP] Skyblock Infinity Evolved - End game = poor fps

  • 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
M

mac8bit

Guest
So i started to play FTB Skyblock Infinity Evolved (Singleplayer) a couple of months ago after taking a break from Minecraft for 1-2 years. And it has really been a blast. I've always enjoyed playing modded Minecraft and with all the new/updated mods, there is so much i can and want to do.

But here is the issue, every time i play one of this mod-packs and get to "end game", my world is filled with cool stuff i've built and that equals a very laggy game. To specify, i get terrible fps. At the begining of my Skyblock journey, it was well above 100 fps, and now with almost everything automated i get between 15 and 30 fps. I'm pretty sure its because all the stuff i got going on in my "Skyblock-island world". Right now, I'm slowly working towards the Creative Energy Cell but the terrible fps is killing my experience.


I've been googling to find an answer and i've tried almost everything but nothing seems to help.

PC specs:
CPU: Intel i7 6700k (not OC)
GPU: GTX 980
RAM: 16GB DDR4
MOBO: MSI Z170A GAMING M5
PSU: Corsair 800W

Windows 10 64bit
Java 64bit Version 8 1.8.0_91-b15
(No other versions of Java is installed. I have reinstalled Java several times.)

Some of the things i've tried:

  • Assigned more/less RAM to Minecraft via FTB-Launcher. 3.5/4/6 GB

  • Disabled some threading setting in Nvidia Control Panel for Java.

  • Tweaked the page-file in Windows.

  • Messing around with a bunch of different Java parameters, i'm no expert but most of the stuff i've found seems outdated.

  • I disabled FastCraft - didn't notice any difference. I disabled FastCraft and installed Optifine, tweaked all the settings, and that gave me between 25-50 fps. But it also gave me a lot of random crashes and my world just looked terrible. I couldn't even recognize my AgriCraft crops..

  • I used MultiMC-launcher to start my singleplayer world instead of FTB Launcher.

  • I started my own local server on the same machine as i'm playing on, to host my singleplayer game. This seemed to help a bit, i did get slightly higher average fps. Maybe 5-10 fps more. Sadly, i don't have another machine to host my local server on.

So i'm asking you guys, is there anything that can be done? Except for hosting a server on a different machine/renting a server.
Or is this just the reality of modded Minecraft?
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
Or is this just the reality of modded Minecraft?
Yup


Use moderation when you build things(for example once you have 10/10/10 crops, you don't need max sized farms anymore. And you certainly dont need them/to keep them running if all the resources do, is going into storage until the day you quit the world). Don't use stupid contraptions that use up more calculations that needed. Spread things out over several bases(outside loading distance of eachother).
 
  • Like
Reactions: Inaeo

GreenZombie

New Member
Jul 29, 2019
2,402
-1
0
Or is this just the reality of modded Minecraft?

This.
Modern graphics cards can draw absolutely astounding numbers of triangles per second. But not if only a few triangles are passed per draw call.

Minecraft has, basically, two passes it performs to render the world. It renders the terrain, which consists of all solid blocks. Because all these blocks are solid Minecraft can exclude the backs of blocks and totally obscured blocks. It can select a few textures and, with a single/very few draw calls, render all of the solid and transparent blocks that make up the terrain. This part is super fast.

Then, for every chunk, it has to look to see if there are any tile entities. And render each one individually. Carpenters blocks. panels. micro blocks. Chisel and bits blocks. conduits, pipes, most mod machines. Are all rendered individually. And obscuring them behind walls does not help.

The solutions are:
* Don't copy @rhn. While the builds look gorgeous, the extensive use of decorative tile entities - carpenters blocks for sloped surfaces, multi part or chisel and bit panels or glowstone microdots for lighting, etc. Is all going to impose what will be a major performance penalty.
* Be conservative in your builds - if you create a grid of 100's of machines, all connected with pipes, it might look awesome and produce and process 1,000,000 cobble per second, but again, all those draw calls are going to impose a major rendering cost.
* Spread your build out horizontally. If you can make sure that you can see *less* of your build at once, the rendering cost is lower. tile entities that are 'over the horizon', behind you or sufficiently to the side to be outside your FOV are not rendered and won't drop your FPS.
* Certain blocks are, all by themselves, performance killers. I had a game with very low FPS, and it turned out that a showerhead from a mod was poorly coded, and a single showerhead would drop fps by about 25fps - a whole 3 showerheads were placed which was dropping some users of the server to less than 10fps until we located and removed the problem.
 
Last edited:
  • Like
Reactions: JaRyCu

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
Don't copy @rhn. While the builds look gorgeous, the extensive use of decorative tile entities - carpenters blocks for sloped surfaces, multi part or chisel and bit panels or glowstone microdots for lighting, etc. Is all going to impose what will be a major performance penalty.
This is a total myth that people keep perpetuating. Trust me, I know.

I have in multiple worlds build huge structures with all of the above, but nothing else and FPS was exactly the same as out in pristine newly spawned land.



The problem is that people use the word "Render" to cover everything that Minecraft does. The actual rendering of shapes and textures is, usually, no problem at all. Minecraft has really crappy low quality textures, overlaid on simple geometric shapes. And most importantly there are almost no fancy processes being done to the textures. Your GFX is idling, there is nothing for it to do. Carpenter's blocks(which are technically not more difficult to render than full sized blocks, it is just the same textures on flat surfaces) wont change that. Neither will any of the other things you mention.

What really makes a MAJOR difference is what tends to get swept in under the "Render" term, but technically has nothing to do with rendering. It is all the calculations that has to be done for machines, crops, mob AIs, magic contraptions, automation etc. to make them work. This has to be done by the CPU(even if you are on a server, your PC still has to keep track of stuff in your loading distance). And if you overuse, misuse or use badly optimized things, they your performance will suffer greatly. But even still if you do everything right if you simply accumulate enough stuff over a long enough time, eventually it will take longer and longer to process it all. Because THAT is really what your FPS in Minecraft is. An indication of how long it took to calculate everything(actually FPS is the inverse, but you get the point). And the more machines and stuff you put in the world, the longer it will take.



So don't fall for this stupid myth of cosmetic blocks causing FPS decreases. Keep building cool stuff! It has been denounced again and again by hordes of mod devs. It is just more convenient for the people who don't give a shit about building to keep blaming it on that, and not their bad use of tech/magic/automation :p
 
Last edited:
  • Like
Reactions: Predatorkillol

GreenZombie

New Member
Jul 29, 2019
2,402
-1
0
This is a total myth that people keep perpetuating. Trust me, I know.

And how is it "you know"? This is, on the other hand, literally my job. Now, admittedly, I work mostly with OpenGL on mobile devices which are way WAY more senstiive to the number of drawcalls than medium to top end desktop devices, but generally the most fps limiting aspect of naive OpenGL engines is the number of draw calls per rendered frame. And, as a simple statement of fact, the minecraft engine is optimized to draw terrain, and expects a small number of tile entity renders. And I've dabbled enough in mod development to see there is no facility to batch tile entity drawing: Lots of decorative blocks WILL be a chokepoint on medium to low spec gfx cards.
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
And how is it "you know"? This is, on the other hand, literally my job. Now, admittedly, I work mostly with OpenGL on mobile devices which are way WAY more senstiive to the number of drawcalls than medium to top end desktop devices, but generally the most fps limiting aspect of naive OpenGL engines is the number of draw calls per rendered frame. And, as a simple statement of fact, the minecraft engine is optimized to draw terrain, and expects a small number of tile entity renders. And I've dabbled enough in mod development to see there is no facility to batch tile entity drawing: Lots of decorative blocks WILL be a chokepoint on medium to low spec gfx cards.
Ok.. I guess we can dream up some situation where some guy have a absolutely horrible and outdated GFX, but still have a modern up to date CPU capable of handling the modded MC machines etc. Then several millions of slopes and stuff might start to make a difference. But in all realistic cases, the performance degradation caused by machines and automation will be many orders of magnitude greater than anything caused by actual rendering of slopes and stuff.
 
  • Like
Reactions: Predatorkillol
M

mac8bit

Guest
Hey again, i've been busy the last couple of days so sorry for the late reply.
Well, you guys confirmed what i was suspecting. I got a lot of stuff running in my base at all times and i could have done a better job spreading out all my machines and whatnot.

New question: if i were to move my singleplayer world to a dedicated server (local hosted on a different PC or rent a server from a server-provider), would that help?

Or would i just lag the server and still get terrible fps? Of course this is based on what hardware the server is running on.

EDIT: After reading rhn's post again, i guess i already got an answer to my second question unless someone else have a different opinion..
 
Last edited:

GreenZombie

New Member
Jul 29, 2019
2,402
-1
0
Hey again, i've been busy the last couple of days so sorry for the late reply.
Well, you guys confirmed what i was suspecting. I got a lot of stuff running in my base at all times and i could have done a better job spreading out all my machines and whatnot.

New question: if i were to move my singleplayer world to a dedicated server (local hosted on a different PC or rent a server from a server-provider), would that help?

Or would i just lag the server and still get terrible fps? Of course this is based on what hardware the server is running on.

EDIT: After reading rhn's post again, i guess i already got an answer to my second question unless someone else have a different opinion..

At the risk of contradicting @rhn again :p, a server, running a modded pack, can support 10s to 100s of users using the same CPU that a top end Gaming PC has - which can only run a single client instance. Servers have their own reasons for performing poorly, which usually come done to entity - rather than tile entity - count. I was admin for a direwolf20 server for a while that supported up to 10 players and I became an admin because the server WAS having performance problems, that I eventually solved. The issues were:
* chunkloaders were widely deployed by players who were no longer playing. This was keeping about 10 different bases loaded at all times, all with machines that were running. These don't really cause lag in and of themselves, but ensured that the below issues were problems ALL the damned time.
* OpenBlocks tanks. Were really the real performance killer at the various bases.
* Mob AI - chickens and sheep in tiny pens were trying to path out and kept colliding with the walls and each other.
* Thaumcraft - had created some unstable nodes that were dropping aspect orbs. Aspect orbs do not (did not) decay unless a player was nearby, causing literally 10s of thousands of the things to build up.
* Factorization has a dimension that it keeps to store the giants, and did not prevent Thaumcraft nodes spawning therein. At least one unstable node had spawned near a giant part and was generating aspect orbs in a dimension that players could never visit.

Once we had peoples bases unloading properly (I removed chicken chunks chunk loaders and let the users use railcraft anchors that required fuel) the server performed well, even when players went near the more elaborate bases.

So yes - move your game to a dedicated server. Even running on the same PC you should see a benefit as long as you have sufficient RAM, as the client and server processing will be split onto separate threads (hopefully CPU cores). At the very least you get to see if your server is having tps problems (it needs to maintain 20 tps for a smooth lag free experience) or the client is having fps problems (caused by *coff* too many tile entities throttling rendering :p)
 
Last edited: