package; import flixel.util.FlxStringUtil; import openfl.events.Event; import openfl.text.TextFormat; import cpp.vm.Gc; import openfl.text.TextField; import openfl.Lib; class Memory extends TextField { //private var overCounter = 0; //private var isOver = false; @:noCompletion private var cacheCount:Int; @:noCompletion private var currentTime:Float; @:noCompletion private var times:Array; public function new(x:Float = 15, y:Float = 20, color:Int = 0x000000) { super(); this.x = x; this.y = y; this.width = 150; defaultTextFormat = new TextFormat("_sans", 12, color); text = "Memory: "; addEventListener(Event.ENTER_FRAME, function(e) { /*var usedMemory:Float = Gc.memUsage(); if (Gc.memUsage() < 0 && !isOver) { isOver = true; } if (Gc.memUsage() > 0 && isOver) { overCounter++; isOver = false; } if (isOver) { usedMemory = 2147483647+(2147483647-(Math.abs(Gc.memUsage()))); // funny math to represent values over 2GB }*/ text = "Memory: " + FlxStringUtil.formatBytes(/*usedMemory + 4294967296*overCounter*/ Gc.memInfo64(0)); /*for (i in 0...4) { text += "\nMemory info " + i + ": " + FlxStringUtil.formatBytes(Gc.memInfo64(i)); }*/ }); } }