Funkin/source/funkin/ui/debug/MemoryCounter.hx

46 lines
1 KiB
Haxe
Raw Normal View History

package funkin.ui.debug;
import funkin.util.MemoryUtil;
import openfl.text.TextFormat;
import openfl.system.System;
import openfl.text.TextField;
class MemoryCounter extends TextField
{
var memPeak:Float = 0;
static final BYTES_PER_MEG:Float = 1024 * 1024;
static final ROUND_TO:Float = 1 / 100;
public function new(x:Float = 10, y:Float = 10, color:Int = 0x000000)
{
super();
this.x = x;
this.y = y;
this.width = 500;
this.selectable = false;
this.mouseEnabled = false;
defaultTextFormat = new TextFormat("_sans", 12, color);
text = "RAM: ";
#if flash
2023-06-08 16:30:45 -04:00
addEventListener(Event.ENTER_FRAME, function(e) {
var time = Lib.getTimer();
__enterFrame(time - currentTime);
});
#end
}
// Event Handlers
@:noCompletion
#if !flash override #end function __enterFrame(deltaTime:Float):Void
{
var mem:Float = Math.fround(MemoryUtil.getMemoryUsed() / BYTES_PER_MEG / ROUND_TO) * ROUND_TO;
if (mem > memPeak) memPeak = mem;
text = 'RAM: ${mem}mb / ${memPeak}mb';
}
}