Files
CodenameEngine/source/funkin/backend/system/framerate/MemoryCounter.hx
T
2024-03-16 21:15:18 +01:00

43 lines
1.1 KiB
Haxe

package funkin.backend.system.framerate;
import openfl.text.TextFormat;
import openfl.display.Sprite;
import openfl.text.TextField;
class MemoryCounter extends Sprite {
public var memoryText:TextField;
public var memoryPeakText:TextField;
public var memory:Float = 0;
public var memoryPeak:Float = 0;
public function new() {
super();
memoryText = new TextField();
memoryPeakText = new TextField();
for(label in [memoryText, memoryPeakText]) {
label.autoSize = LEFT;
label.x = 0;
label.y = 0;
label.text = "FPS";
label.multiline = label.wordWrap = false;
label.defaultTextFormat = new TextFormat(Framerate.fontName, 12, -1);
addChild(label);
}
memoryPeakText.alpha = 0.5;
}
public override function __enterFrame(t:Int) {
if (alpha <= 0.05) return;
super.__enterFrame(t);
memory = MemoryUtil.currentMemUsage();
if (memoryPeak < memory) memoryPeak = memory;
memoryText.text = CoolUtil.getSizeString(memory);
memoryPeakText.text = ' / ${CoolUtil.getSizeString(memoryPeak)}';
memoryPeakText.x = memoryText.x + memoryText.width;
}
}