Intuitive lag hunting!
The planned main functionality is listed below:
- Throttling block ticking based upon tps, PER PLAYER. This means that every player gets an equal share of tick time on his/her machines. Needs performance testing to see if this is viable. TileEntities will be assigned owners when placed or claimed by a player.
- Network profiling, monitor in and outgoing bytes
- Browser interface instead of in-game. Allows for multi monitor setups and much more space to fit content in a proper manner.
If you have suggestions, I will take them into consideration.
LagGoggles is a profiler where you can see timings in the world, visually. It comes with a custom GUI using a configurable keybind. It's compatible with SpongeForge and Mixin!
You can use LagGoggles as a player too! This is my attempt to create an understanding of what causes lag on a server to regular players.
I noticed some common misconceptions like having machines spread out over different chunks causes less lag than putting it in one chunk.
With LagGoggles, you can look around and see that alot of small things like pipes or cables cause a tiny bit of lag most of the time, often resulting in more lag than a machine right next to the source would.
LagGoggles can also profile clientside FPS as of version 4.0!
Download: here
LagGoggles enabled | normal view |
---|---|
Massive thanks to Grok DuckFarmer for making this video.
Minecraft Talk 35 - LagGoggles and Better Server Play
- Sponge compatible (Try the THIN version first!)
- Teleporting to sources of lag
- Client GUI, including overlay and clickable menus
- Colour scale for easy spotting of sources of lag.
- Calculations are done on the client, so each client can have a different colour scale.
- Clientside FPS support!
- Checks render time for Entities, Tile entities and event subscribers
- It's very young, but it should give some insight in what may cause FPS issues.
- Config for client:
- Custom gradients
- Colorblindess support
- Config for server
- Custom permissions for players (non-operators)
- Drop the jar in the /mods folder
- Serverside configuration is not required and has no effect.
- Clients can edit the config to change the colour scale.
At startup Mixin handles each class being loaded. On the server side, this mod hooks into the loading mechanism. This is the same mechanism SpongeForge uses, that's why it's compatible.
Entities, blocks and event-subscribers are timed using System.nanotime() before and after the tick() and update() methods. These times are being recorded and sent to the client when the profiler is done.
- Visualisation of various sources of lag
- Learn your players to build lag-free bases.
You can download the latest release here. The ONLY difference between THIN and FAT is that FAT ships Mixin, which is a library that LagGoggles needs in order to function. It's possible that another mod already ships Mixin or has another version. Generally speaking, LagGoggles can handle most Mixin releases well. A known mod to ship Mixin is SpongeForge. If you have SpongeForge or another mod that requires a different version of Mixin, choose the THIN release.