From 57af7e50c11e99b743aa6884702ea5427f13ab70 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Fri, 26 Oct 2018 20:25:21 +0200 Subject: [PATCH] add profiler calls for the biggest performance hogs. Also numbers bad for survival go away no --- .../naturesaura/aura/chunk/AuraChunk.java | 3 +++ .../aura/chunk/effect/GrassDieEffect.java | 3 +++ .../aura/chunk/effect/ReplenishingEffect.java | 3 +++ .../naturesaura/events/ClientEvents.java | 25 +++++++++---------- .../naturesaura/events/CommonEvents.java | 2 ++ 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/main/java/de/ellpeck/naturesaura/aura/chunk/AuraChunk.java b/src/main/java/de/ellpeck/naturesaura/aura/chunk/AuraChunk.java index f941a148..1b7b9789 100644 --- a/src/main/java/de/ellpeck/naturesaura/aura/chunk/AuraChunk.java +++ b/src/main/java/de/ellpeck/naturesaura/aura/chunk/AuraChunk.java @@ -1,5 +1,6 @@ package de.ellpeck.naturesaura.aura.chunk; +import de.ellpeck.naturesaura.NaturesAura; import de.ellpeck.naturesaura.aura.Capabilities; import de.ellpeck.naturesaura.aura.chunk.effect.GrassDieEffect; import de.ellpeck.naturesaura.aura.chunk.effect.IDrainSpotEffect; @@ -45,6 +46,7 @@ public class AuraChunk implements ICapabilityProvider, INBTSerializable consumer) { + world.profiler.func_194340_a(() -> NaturesAura.MOD_ID + ":getSpotsInArea"); for (int x = (pos.getX() - radius) >> 4; x <= (pos.getX() + radius) >> 4; x++) { for (int z = (pos.getZ() - radius) >> 4; z <= (pos.getZ() + radius) >> 4; z++) { Chunk chunk = world.getChunk(x, z); @@ -54,6 +56,7 @@ public class AuraChunk implements ICapabilityProvider, INBTSerializable NaturesAura.MOD_ID + ":GrassDieEffect"); if (spot.intValue() < 0) { int aura = AuraChunk.getAuraInArea(world, pos, 25); if (aura < 0) { @@ -47,5 +49,6 @@ public class GrassDieEffect implements IDrainSpotEffect { } } } + world.profiler.endSection(); } } diff --git a/src/main/java/de/ellpeck/naturesaura/aura/chunk/effect/ReplenishingEffect.java b/src/main/java/de/ellpeck/naturesaura/aura/chunk/effect/ReplenishingEffect.java index ca12c776..bc90faa5 100644 --- a/src/main/java/de/ellpeck/naturesaura/aura/chunk/effect/ReplenishingEffect.java +++ b/src/main/java/de/ellpeck/naturesaura/aura/chunk/effect/ReplenishingEffect.java @@ -1,6 +1,7 @@ package de.ellpeck.naturesaura.aura.chunk.effect; import de.ellpeck.naturesaura.Helper; +import de.ellpeck.naturesaura.NaturesAura; import de.ellpeck.naturesaura.aura.Capabilities; import de.ellpeck.naturesaura.aura.chunk.AuraChunk; import de.ellpeck.naturesaura.aura.chunk.ISpotDrainable; @@ -16,6 +17,7 @@ import java.util.List; public class ReplenishingEffect implements IDrainSpotEffect { @Override public void update(World world, Chunk chunk, AuraChunk auraChunk, BlockPos pos, MutableInt spot) { + world.profiler.func_194340_a(() -> NaturesAura.MOD_ID + ":ReplenishingEffect"); int amount = spot.intValue(); if (amount < 0) { List tiles = new ArrayList<>(); @@ -39,5 +41,6 @@ public class ReplenishingEffect implements IDrainSpotEffect { } } } + world.profiler.endSection(); } } diff --git a/src/main/java/de/ellpeck/naturesaura/events/ClientEvents.java b/src/main/java/de/ellpeck/naturesaura/events/ClientEvents.java index 18dc7df2..ba58d7b5 100644 --- a/src/main/java/de/ellpeck/naturesaura/events/ClientEvents.java +++ b/src/main/java/de/ellpeck/naturesaura/events/ClientEvents.java @@ -47,20 +47,19 @@ public class ClientEvents { String prefix = TextFormatting.GREEN + "[" + NaturesAura.MOD_NAME + "]" + TextFormatting.RESET + " "; List left = event.getLeft(); left.add(""); - left.add(prefix + "PartScrn: " + ParticleHandler.getParticleAmount()); + left.add(prefix + "Particles: " + ParticleHandler.getParticleAmount()); - boolean adv = mc.gameSettings.showDebugProfilerChart; - if (adv) - left.add(prefix + "DrainSpots:"); - MutableInt amount = new MutableInt(AuraChunk.DEFAULT_AURA); - MutableInt spots = new MutableInt(); - AuraChunk.getSpotsInArea(mc.world, mc.player.getPosition(), 15, ((blockPos, drainSpot) -> { - spots.increment(); - amount.add(drainSpot.intValue()); - if (adv) - left.add(prefix + drainSpot.intValue() + " @ " + blockPos.getX()+" "+blockPos.getY()+" "+blockPos.getZ()); - })); - left.add(prefix + "Aura: " + amount.intValue() + " in " + spots.intValue() + " spots"); + if (mc.player.capabilities.isCreativeMode) { + left.add(prefix + "Aura:"); + MutableInt amount = new MutableInt(AuraChunk.DEFAULT_AURA); + MutableInt spots = new MutableInt(); + AuraChunk.getSpotsInArea(mc.world, mc.player.getPosition(), 15, ((blockPos, drainSpot) -> { + spots.increment(); + amount.add(drainSpot.intValue()); + left.add(prefix + drainSpot.intValue() + " @ " + blockPos.getX() + " " + blockPos.getY() + " " + blockPos.getZ()); + })); + left.add(prefix + "Total: " + amount.intValue() + " in " + spots.intValue() + " spots"); + } } } diff --git a/src/main/java/de/ellpeck/naturesaura/events/CommonEvents.java b/src/main/java/de/ellpeck/naturesaura/events/CommonEvents.java index 5fca1565..310150d7 100644 --- a/src/main/java/de/ellpeck/naturesaura/events/CommonEvents.java +++ b/src/main/java/de/ellpeck/naturesaura/events/CommonEvents.java @@ -28,6 +28,7 @@ public class CommonEvents { public void onWorldTick(TickEvent.WorldTickEvent event) { if (!event.world.isRemote && event.phase == TickEvent.Phase.END) { if (event.world.getTotalWorldTime() % 20 == 0) { + event.world.profiler.func_194340_a(() -> NaturesAura.MOD_ID + ":onWorldTick"); Iterator chunks = event.world.getPersistentChunkIterable(((WorldServer) event.world).getPlayerChunkMap().getChunkIterator()); while (chunks.hasNext()) { Chunk chunk = chunks.next(); @@ -36,6 +37,7 @@ public class CommonEvents { auraChunk.update(); } } + event.world.profiler.endSection(); } } }