Files
HEIHUAaandGitHub a8808be29e Fix FramerateCounter and VRAM Counter (#820)
* Update FramerateCounter.hx

* Update FramerateCounter.hx

* Update FramerateCounter.hx

* Update FramerateCounter.hx

* Update FramerateCounter.hx

* Update FramerateCounter.hx

* Update FramerateCounter.hx

* Update FramerateCounter.hx

* Update FramerateCounter.hx

* Optimize memory label update in MemoryCounter

* Optimize frame update logic in AssetTreeInfo and MemoryCounter

* Fixed VRAM display showing -2147483648B

* Update SystemInfo.hx

* VRAM: 6MB?
2025-11-20 06:46:04 +07:00

57 lines
1.3 KiB
Haxe

package funkin.backend.system.framerate;
import openfl.display.Sprite;
import openfl.text.TextField;
import openfl.text.TextFormat;
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 = "MEM";
label.multiline = label.wordWrap = false;
label.defaultTextFormat = new TextFormat(Framerate.fontName, 12, -1);
label.selectable = false;
addChild(label);
}
memoryPeakText.alpha = 0.5;
}
public function reload() {}
public override function __enterFrame(t:Int) {
if (alpha <= 0.05) return;
super.__enterFrame(t);
final mem = MemoryUtil.currentMemUsage();
if (mem == memory) {
updateLabelPosition();
return;
}
memory = mem;
if (memoryPeak < memory) memoryPeak = memory;
memoryText.text = CoolUtil.getSizeString(memory);
memoryPeakText.text = ' / ${CoolUtil.getSizeString(memoryPeak)}';
updateLabelPosition();
}
private inline function updateLabelPosition():Void
memoryPeakText.x = memoryText.x + memoryText.width;
}