perf(server): hold 20 TPS at 50-player scale
This commit is contained in:
@@ -15,6 +15,8 @@ static volatile LONG g_minLogLevel = (LONG)eServerLogLevel_Info;
|
||||
static FILE *g_logFile = NULL;
|
||||
static std::once_flag g_logFileOnce;
|
||||
|
||||
bool g_serverPerfTrace = false;
|
||||
|
||||
static void OpenLogFile()
|
||||
{
|
||||
if (g_logFile != NULL)
|
||||
|
||||
@@ -41,4 +41,9 @@ namespace ServerRuntime
|
||||
void LogStartupStep(const char *message);
|
||||
void LogWorldIO(const char *message);
|
||||
void LogWorldName(const char *prefix, const std::wstring &name);
|
||||
|
||||
// When true, noisy [perf] sampling output (histograms, per-iter samples)
|
||||
// is enabled. Threshold-fired warnings remain always-on. Toggled via the
|
||||
// -perftrace CLI flag.
|
||||
extern bool g_serverPerfTrace;
|
||||
}
|
||||
|
||||
@@ -166,6 +166,7 @@ static void PrintUsage()
|
||||
ServerRuntime::LogInfo("usage", " -maxplayers <1-8> Public slots (default: server.properties:max-players)");
|
||||
ServerRuntime::LogInfo("usage", " -seed <int64> World seed (overrides server.properties:level-seed)");
|
||||
ServerRuntime::LogInfo("usage", " -loglevel <level> debug|info|warn|error (default: server.properties:log-level)");
|
||||
ServerRuntime::LogInfo("usage", " -perftrace Enable noisy [perf] sampling output (histograms, per-iter samples)");
|
||||
ServerRuntime::LogInfo("usage", " -help Show this help");
|
||||
}
|
||||
|
||||
@@ -272,6 +273,10 @@ static bool ParseCommandLine(int argc, char **argv, DedicatedServerConfig *confi
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (_stricmp(arg, "-perftrace") == 0)
|
||||
{
|
||||
ServerRuntime::g_serverPerfTrace = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
LogErrorf("startup", "Unknown or incomplete argument: %s", arg);
|
||||
|
||||
Reference in New Issue
Block a user