Minecraft – Reduce Minecraft Redstone lag

minecraft-java-editionminecraft-redstoneperformance

I've been playing on the same single-player world in Minecraft for about 3 years or more now, and I at some point I began having lower and lower FPS. What was strange was that I only had that issue inside my base.

My computer is good enough to handle that at ~40 FPS (min 35) using an i7 6700K (and it's integrated GPU, HD 530) but on my laptop I can go as low as 10 FPS. However, anywhere else I get a solid 60 FPS even on my laptop with it's integrated GPU selected (i7 3610QM and it's integrated GPU, HD 4000)

I came to the conclusion that all the lag is caused by the insane amount of redstone contraptions that my base is built upon.

My question is:
How can I reduce the lag? Is there any way to somehow reduce the FPS lag caused by the redstone/hoppers, while still keeping their functions? If there isn't an "easy" way, do you have any tips for how I can avoid this in the future?

I read some old posts claiming that hoppers are a huge lag source and that there are ways to reduce some that partially, but those posts are very old and possibly outtaded.

Some more context:
I have something called "The Vault" which is a huge nicely-decorated, 3-level room with 480 double chests and thousands of hoppers that automatically sort items into each chests (It's like a creative inventory down there, every item worth storing) and also some extra chests for surplus or uncategorised items, and a villager trading station on which I'm still working.
I also got some automatic farms nearby but nothing insane. But they do use long hopper lines and a huge item elevator to send the items directly to the Vault.

I believe that "vault" of mine is what causes all/most of the lag, because of all the hoppers that it uses.

Also, there's an item frame for every two double chests in there, so somewhere around 120 of them.

Even more context:
My whole base is built inside only a few chunks, because I started on a small island in an ocean. Also most of it is underground but I almost only expanded vertically, because the ocean is very deep. That means that all the redstone is loaded and active at the same time, right?

Best Answer

As an Intermediate Redstone-er, I'd recommend doing the following:

  1. Convert long Hopper-Lines into Water Stream Ways, example for if you don't understand my terminology on this:

Water Conveyance System Water Conveyance System The packed_ice helps to speed up the transport process, as well as preventing itself from melting like normal ice does. An additional note, replacing hoppers with this greatly reduces block-lag, as myth-busted here: Redstone Myth Busting
(I won't go into all the details here...)

  1. If you have two outputs next to each other, that need to be activated at the same time (for the same amount of time, etc.) then use a repeater to input into one of the outputs.
    Reminder: Power is shared with adjacent blocks when a repeater is used!

Two Outputs powered by One Input Two Outputs powered by One Input

  1. Redstone lighting updates can cause fps-drops: as detailed in the previous hyperlink above, redstone lighting updates can contribute to a 'massive' portion of your fps being 'eaten-up'.
    The solution: lighting the entire circuit with glowstone (or minimising air-pockets between components for optimum light-emission-reduction).

  2. When using clock-circuits, be sure to optimise it's efficiency. So, example: 'Comparator Clock', run the output from beneath/next-to the Comparator-I/O 'wires'.

Increasing Efficiency for Comparator Clocks Increasing Efficiency for Comparator Clocks

I hope my tips/tricks have helped with your fps-drops. I'm interested to see whether some of my concepts will be incorporated into later projects. :)