VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.mixin.debug;
import java.lang.management.ManagementFactory;
import java.util.List;
import java.util.Locale;
import net.minecraft.class_11618;
import net.minecraft.class_11630;
import net.minecraft.class_1937;
import net.minecraft.class_2818;
import net.minecraft.class_2960;
import net.vulkanmod.vulkan.memory.MemoryManager;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
@Mixin({class_11618.class})
public abstract class DebugEntryMemoryM {
@Shadow
@Final
private static class_2960 field_61547;
@Shadow
protected static long method_72758(long l) {
return 0L;
}
@Overwrite
public void method_72751(class_11630 debugScreenDisplayer, @Nullable class_1937 level, @Nullable class_2818 levelChunk, @Nullable class_2818 levelChunk2) {
long l = Runtime.getRuntime().maxMemory();
long m = Runtime.getRuntime().totalMemory();
long n = Runtime.getRuntime().freeMemory();
long o = m - n;
debugScreenDisplayer.method_72744(field_61547, List.of(String.format(Locale.ROOT, "Mem: %2d%% %03d/%03dMB", o * 100L / l, method_72758(o), method_72758(l)), String.format(Locale.ROOT, "Allocated: %2d%% %03dMB", m * 100L / l, method_72758(m)), String.format("Off-heap: " + this.getOffHeapMemory() + "MB"), "NativeMemory: %dMB".formatted(MemoryManager.getInstance().getNativeMemoryMB()), "DeviceMemory: %dMB".formatted(MemoryManager.getInstance().getAllocatedDeviceMemoryMB())));
}
private long getOffHeapMemory() {
return method_72758(ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage().getUsed());
}
}
Download file