Redstone Lag: Busting all the myths!

Share your redstone tips and tricks or ask for help :)
Aminotreal
Posts: 9
Joined: Thu Apr 16, 2015 10:57 am

Redstone Lag: Busting all the myths!

Postby Aminotreal » Thu Apr 30, 2015 9:22 am

I have have recently made a topic (viewtopic.php?f=18&t=248) on where redstone is allowed and found out that that it is allowed everywhere but the creative world. Interestingly the server doesn't like large amount of redstone or hopper devices. I decided to do some research. So here are the results.

Redstone Lag: Busting all the myths!

Myth 1. Redstone clocks... sooo laggy!

http://www.minecraftforum.net/forums/mi ... dstone-lag

Redstone clocks are usually considered the most laggy object that a player can put in his/her game. This however, is not because of the usually assumed fact that it is the redstone updating that it causing it. It is actually the lighting updates caused by the redstone.

First off let's do some experimenting to show just how bad block light level updates can be (I will now call them BLLUs for the sake of not making this a wall of text) Start by making a blank superflat creative world. Now go up about 50 or so blocks and make a 50x50 platform one block thick of any block that isn't transparent, such as cobblestone.

Now you should have a pretty big dark patch underneath the platform. Now go somewhere near the middle and punch a hole. Did you experience the lag? Now what could be causing that? Well it's BLLUs. See the way the game works with BLLUs is that when you punched that hole in the platform it is actually checking EVERY BLOCK IN THAT CHUNK BELOW THAT AREA. This includes air blocks, as it checks them for transparency. So you can imagine how many blocks the game has to check just for the sake of one block being removed.

Your probably saying "Rush this is all well and good, but what does this have to do with my redstone?" Well it has a lot to do with your redstone actually, because redstone actually has two components that give off light, the redstone torch, and the repeater. The redstone dust does NOT give off light. Suddenly things are starting to be clearer. Not only are you getting minimal redstone lag but your also getting the worse BLLU lag. Think about it whenever doing some complex wiring what does everyone usually do? They usually run wool or some other sort of block up and around wherever they are working to move the redstone where they need it. Chances are you have some repeaters or maybe some redstone torches that invert every so often no big deal right? Wrong. As these repeaters and torches turn on and off they are producing light which leads to lag, even worse still is if they are on just a single line of blocks because that extra light is leaking over the edge and causing even more BLUs.


So, how do you fix this?

Let me introduce you to your new best friend...Glowstone. Yes that's right glowstone. How will this help me you ask? Well let me tell you. If you were to encase your redstone torches and your repeaters in glowstone (generally 3 blocks in front, behind and on top of your redstone torches and repeaters) that would saturate that area with block light meaning that when the repeaters or torches change state there would be no BLU, thereby eliminating the lag caused by them. It's really that simple, this method can be used on big circuits or small and it will make a difference.

Another way to stop light updates is to make your redstone compact! By removing air spaces, you are removing potential lighting updates. By lighting your redstone clocks correctly, even with 1000 running at once (I tested it) it doesn't have a notable effect on your fps and server lag.

Also, you may say that of course it causes server lag, think of all those calculations running at once! If you say this, you are correct. It does cause some server lag, but if the server was to run 4000000000 calculations in one second and the redstone clock caused 5, then you would need 800 million redstone clocks to cause your fps to go to 0! (these numbers are not accurate but to convey my point).

Let me repeat, redstone clocks do NOT cause server lag if correctly lighted!
For more information on this experiment, look at the link at the top of this 'redstone myth'.

If you block off the places for the redstone to light all together, you remove even more lag as lighting it still causes a few but less updates!





Myth 2. Hoppers, even when off cause lag!

http://minecraft.gamepedia.com/User:Cru ... Setup=true

Hoppers are usually considered on par with redstone clocks for lag. Even when behind a wall, they can massively reduce fps and increase cpu usage. Unfortunately, people jump to conclusions and think that its the rate that hoppers transport items that increases lag, or that the game is miscalculating the visuals of the hoppers. Both of these misconceptions are incorrect.

A test was conducted to see the lag effects of item systems stationary and in motion.
Abstract

There are several mechanisms that cause lag on SMP, however the worst by far are activated hoppers, even when they are not transporting items. Suprisingly, hoppers on a fast clock were lag-free. In single-player mode, lag is more affected by entities moving into and out of the border range of render. This is a test of lag in multi-player mode across the Internet. Results will not be duplicable in a single-player game.
Methodology

A test world was created and hosted by Cruddly using MCEdit for its copy and paste abilities, containing completely separate regions (~500 block separations) of various lag-causing entities and a remote player (Xenoflot) on a reasonable Internet connection (63ms ping to server), and reasonable but average computer. The server (ver 1.7.9) was running off a ramdisk on a powerful 8-cpu modern computer with just the host and the single remote player present, to eliminate other possible causes of lag. The results so far are reported below.
Results

4096 chained, activated hoppers, with NO items moving them: chests were unopenable even after several minutes of waiting, blocks unbreakable and unplaceable.

4096 chained, de-activated hoppers: no lag

4096 stationary minecarts with chests: no lag

4096 shuttling minecarts with chests: player was kicked, server crashed out of memory. In other tests with more memory, even the local player experienced visual lag as well as block placement etc issues.

4096 stationary activated minecarts with hoppers: worse lag effects than plain hoppers.

4096 stationary de-activated minecarts with hoppers: no lag

4096 droppers with no active clock circuit: no lag

4096 droppers moving items on a 2-tick clock circuit (via torch towers): no lag!!! Unbelievable. Slower clock speed tests abandoned. The droppers were checked to ensure the items were moving along. Remote player could clearly see the flashing patterns of the torches "like a christmas tree".

4096 chests (configured as 2048 large chests): no lag - control set.

Additional tests:

4096 blocks of vertically flowing water: no lag
4096 blocks of horizontally flowing water: no lag
4096 fire blocks (flaming Netherrack): no lag. An interesting result, and maybe only due to the test setup having nothing but airspace near the fires, as fire-based lag has been experienced before.

4096 stained glass blocks, single depth, single color: no lag
4096 stained glass blocks, two colors, adjacent vertical planes: no lag
4096 stained glass blocks, two colors, air block plane between the vertical planes: no lag

Conclusion

Although it is highly unlikely a single set of loaded chunks would contain 4096 of the tested items, never-the-less small numbers still create noticeable lag - to a small degree dependant upon: the hardware of both server and client, and Internet speed between them.

With the proliferation of hoppers in recent devices, it is advisable for designers to find ways to deactivate hoppers that are not currently in use - either automatically through circuit design, or manually via levers and so on. Where space allows for the accompanying power transmission, droppers are a far more reasonable alternative, and redstone clocks far less laggy than their hopper counterparts.

It doesn't take long before a dozen different devices, all containing at least several hoppers, add up to a noticeable lag burden upon remote clients.






Myth 3. (Extras for myth 2) Hoppers cause lag when activated no matter what (Also assumed in myth 2's study).

https://www.youtube.com/watch?v=qEi-tKrxDNk

This is another commonly assumed fact. Even in the last myth, the people conducting the experiment assumed this and concluded incorrect results.

Video Description:
Rumor has it that placing a block with an inventory such as a furnace on top of a hopper reduces lag. Iet's find out if it's true and how much difference it actually makes if it does...


This video shows the effects on a server that placing a inventory over a hopper has. It proves that most of hopper's but not all lag can be removed by placing an inventory over it. This is because the hopper no longer wished to pick dropped items up when this is happening. Note: solid blocks above hoppers will not decrease lag!
It decreases around 85% off hopper lag (the lag not removed is due to the visuals).





Myth 4: Redstone causes Chunk loading (comment bellow was talking about it).

http://www.minecraftforum.net/forums/mi ... ith-design
https://www.youtube.com/watch?v=tBSO4hBKBGs

Apparently many people believe that redstone when active loads the chunk it is in. This is not the case. I have personally done a lot of research into this topic as I have used chunk loaders frequently (not on minesquish). Redstone can be active within an unloaded chunk. For example, flowing water will not update within the chunk where redstone is active, wheat and other plants will also not grow.
I don't think this contraption is working. Redstone and pistons can operate even in unloaded chunks, but they are loading just the blocks which they are updating. The only way I know how to load any chunk is by throwing items into the portal from Nether side. Unfortunately there is no way of loading Nether chunk if the player is in the Overworld so I don't think it can be exploitable.
If anybody knows if there is something that works, please share it... Could be really helpful.

This quote is similar to many other posts on many other forums about chunk loading. Yes, you can load chunks using nether portals, but not using plain redstone clocks or circuits or even pistons even if they are going over chunk borders. However there is another way to load chunks in minecraft. This way uses hoppers and is shown in the youtube video link. It explains how by stringing hoppers over chunk borders, you can partially load chunks (this is the same kind of chunk loading that nether portals achieve). This is also why nether portals cause a lot of lag. This does keep redstone working 100% within these partially loaded chunks (redstone can glitch out and lock which is a problem on large projects out of chunk range), but does not keep entities like enderpearls loaded and doesn't make wheat grow. However, using this method, if you load a 5x5 area of chunks, the center chunk is fully loaded and will keep entities working, and will grow plants.
This 5x5 chunk loading is explained in Ethos lets play episode 406 at 7:00 in when he uses it to main a teleporter.
https://www.youtube.com/watch?v=eRibPph ... FWJW1vYsMA

So, you don't have to worry about redstone loading chunks, but the lighting updates once again can cause lag(although I havn't tested if they cause lag in unloaded chunks).




Steps to reduce redstone lag:
1. light up redstone circuits.
2. fill or remove air gaps in redstone circuits.
3. fill in any surrounding air around the redstone to stop the light from escaping.
4. place inventories like furnaces above hoppers which are not picking up items(hoppers themselves also work).
5. turn off hoppers when not using them by either by powering them by a redstone signal or manually with a lever.

If you do all 5 of these things in all your builds, the server will speed up substantially.
Last edited by Aminotreal on Fri May 08, 2015 1:11 am, edited 2 times in total.

User avatar
1wolffan
Admin
Posts: 317
Joined: Sun Dec 21, 2014 4:13 pm
Location: Michigan

Re: Redstone Lag: Busting all the myths!

Postby 1wolffan » Tue May 05, 2015 6:53 pm

The main issue Indiesquish has with redstone is that 20 or so people in different chunks, means the server is rendering 20 different portions of a map at the same time (unless people are in the same chunk). Redstone (when running) also keeps chunks loaded for the server to need to render; which seems to happen a lot when people have free access to redstone. lol

It's cool to know that in my single player, I essentially don't have to worry TOO much about it. :) Thank you for this in-depth research project. I"m sure others will find this highly useful too. :)
Always Mischievous,
Never Devious!

Aminotreal
Posts: 9
Joined: Thu Apr 16, 2015 10:57 am

Re: Redstone Lag: Busting all the myths!

Postby Aminotreal » Thu May 07, 2015 1:52 am

You say that redstone keeps chunks loaded...
I know for certain this isn't totally the case as I have tried to make chunk loaders (difficult but possible), which do use redstone, but require a large amount of partial chunk loading to work.
I guess I will add this to the list of redstone lag myths...

theMote
Admin
Posts: 133
Joined: Sun Dec 21, 2014 5:20 pm
Location: Southern California

Re: Redstone Lag: Busting all the myths!

Postby theMote » Thu May 07, 2015 5:01 pm

Very interesting research Aminotreal. Good things to know.

There are 3 key points we should all remember:

1. Not everyone will do what is necessary to reduce redstone lag, even a few people failing to follow those steps can cause problems.
2. Different MC servers (e.g. Spigot vs. Forge vs. Bukkit) and versions within those servers can introduce differences in how redstone works (and creates lag on that particular machine), and
3. MOST IMPORTANT: This is Rusty's and WelshPixie's server and their rules apply regardless of anything else.

So as a reminder to all:
  • some redstone is allowed in Persephone, Big Build and Exploration worlds. With any redstone contraption you make in these worlds, make sure you've done everything you can (including Aminotreal's suggestions above) to reduce or eliminate any possible lag.
  • NO active redstone is allowed in Freebuild or Build Off. (Redstone dust or torch for decoration is okay)
  • Staff will remove any redstone they feel may cause a problem.

User avatar
james9837
Admin
Posts: 284
Joined: Mon Dec 22, 2014 2:01 am
Location: Northeast US

Re: Redstone Lag: Busting all the myths!

Postby james9837 » Fri Jun 19, 2015 3:26 pm

I used a few of redstone circuits in my temple for secret passageways...
... when I talked to Kong about it she thought redstone was allowed in Build Off.

theMote
Admin
Posts: 133
Joined: Sun Dec 21, 2014 5:20 pm
Location: Southern California

Re: Redstone Lag: Busting all the myths!

Postby theMote » Sat Jun 20, 2015 9:13 pm

I stand corrected. I thought I had seen a sign saying no redstone in Build Off. Just checked and there's nothing about redstone there or in the rules.


Return to “Redstone Repository”

Who is online

Users browsing this forum: No registered users and 1 guest

cron