Use the profiler to profile map generation

Instead of writing the duration to the console it uses
`Engine.ProfileStart` and `Engine.ProfileStop` to profile map
generation.

Refs: #5263
This commit is contained in:
phosit 2026-07-24 16:15:22 +02:00
parent 4122f0bfb3
commit a80446eb59
No known key found for this signature in database
GPG key ID: C9430B600671C268

View file

@ -1,6 +1,6 @@
function RandomMapLogger() function RandomMapLogger()
{ {
this.lastTime = undefined; this.taskStarted = false;
this.startTime = Engine.GetMicroseconds ? Engine.GetMicroseconds() : 0; this.startTime = Engine.GetMicroseconds ? Engine.GetMicroseconds() : 0;
this.prefix = ""; // seems noisy this.prefix = ""; // seems noisy
@ -21,27 +21,18 @@ RandomMapLogger.prototype.printDirectly = function(string)
RandomMapLogger.prototype.print = function(string) RandomMapLogger.prototype.print = function(string)
{ {
this.printDuration(); if (this.taskStarted)
this.printDirectly(this.prefix + string + "..."); Engine.ProfileStop();
this.lastTime = Engine.GetMicroseconds();
};
RandomMapLogger.prototype.printDuration = function() const text = this.prefix + string;
{ this.printDirectly(text + "...\n");
if (!this.lastTime) Engine.ProfileStart(text);
return; this.taskStarted = true;
this.printDurationDirectly("", this.lastTime);
this.lastTime = Engine.GetMicroseconds();
}; };
RandomMapLogger.prototype.close = function() RandomMapLogger.prototype.close = function()
{ {
this.printDuration(); if (this.taskStarted)
this.printDurationDirectly(this.prefix + "Total map generation time:", this.startTime); Engine.ProfileStop();
}; this.printDirectly(this.prefix + "Map generation finished.\n");
RandomMapLogger.prototype.printDurationDirectly = function(text, startTime)
{
this.printDirectly(text + " " + ((Engine.GetMicroseconds() - startTime) / 1000000).toFixed(6) + "s.\n");
}; };