2024-02-28 00:19:08 -05:00
|
|
|
package funkin.util.plugins;
|
|
|
|
|
|
|
|
import flixel.FlxBasic;
|
2024-03-02 23:49:27 -05:00
|
|
|
import funkin.util.tools.TimerTools;
|
2024-02-28 00:19:08 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
* A plugin which adds functionality to press `Ins` to immediately perform memory garbage collection.
|
|
|
|
*/
|
|
|
|
class MemoryGCPlugin extends FlxBasic
|
|
|
|
{
|
|
|
|
public function new()
|
|
|
|
{
|
|
|
|
super();
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function initialize():Void
|
|
|
|
{
|
|
|
|
FlxG.plugins.addPlugin(new MemoryGCPlugin());
|
|
|
|
}
|
|
|
|
|
|
|
|
public override function update(elapsed:Float):Void
|
|
|
|
{
|
|
|
|
super.update(elapsed);
|
|
|
|
|
|
|
|
if (FlxG.keys.justPressed.INSERT)
|
|
|
|
{
|
2024-03-02 23:49:27 -05:00
|
|
|
var perfStart:Float = TimerTools.start();
|
2024-02-28 00:19:08 -05:00
|
|
|
funkin.util.MemoryUtil.collect(true);
|
2024-03-02 23:49:27 -05:00
|
|
|
trace('Memory GC took: ${TimerTools.seconds(perfStart)}');
|
2024-02-28 00:19:08 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public override function destroy():Void
|
|
|
|
{
|
|
|
|
super.destroy();
|
|
|
|
}
|
|
|
|
}
|