import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Stream;
public class ClientRenderer {
private static boolean active;
private static final Set<IBoundingBoxProvider> providers = new HashSet<>();
+ private static AtomicLong lastDurationNanos = new AtomicLong(0L);
+
public static boolean getActive() {
return active;
}
public static void render(MatrixStack matrixStack, DimensionId dimensionId) {
if (!active) return;
+ long startTime = System.nanoTime();
matrixStack.push();
RenderHelper.beforeRender();
if (renderer != null) renderer.render(matrixStack, key);
});
- RenderHelper.afterRender();
- matrixStack.pop();
- }
-
- public static void renderDeferred() {
- RenderHelper.beforeRender();
- RenderHelper.polygonModeFill();
- RenderHelper.enableBlend();
RenderQueue.renderDeferred();
- RenderHelper.disableBlend();
- RenderHelper.enablePolygonOffsetLine();
- RenderHelper.polygonOffsetMinusOne();
+
RenderHelper.afterRender();
+ matrixStack.pop();
+ lastDurationNanos.set(System.nanoTime() - startTime);
}
public static Stream<AbstractBoundingBox> getBoundingBoxes(DimensionId dimensionId) {
}
}
+ public static long getLastDurationNanos() {
+ return lastDurationNanos.get();
+ }
+
}