public static void NewDrawFrame()
{
for (int index = 0; index < TimeLogger.renderTimes.Length; ++index)
TimeLogger.renderTimes[index].usedLastDraw = false;
for (int index = 0; index < TimeLogger.drawTimes.Length; ++index)
TimeLogger.drawTimes[index].usedLastDraw = false;
for (int index = 0; index < TimeLogger.lightingTimes.Length; ++index)
TimeLogger.lightingTimes[index].usedLastDraw = false;
if (TimeLogger.startLoggingNextFrame)
{
TimeLogger.startLoggingNextFrame = false;
DateTime now = DateTime.Now;
string path = "Data\\TerrariaDrawLog.7z";
try
{
TimeLogger.logWriter = new StreamWriter((Stream)new GZipStream((Stream)new FileStream(path, FileMode.Create), CompressionMode.Compress));
TimeLogger.logBuilder = new StringBuilder(5000);
TimeLogger.framesToLog = 600;
TimeLogger.currentFrame = 1;
TimeLogger.currentlyLogging = true;
}
catch
{
Main.NewText("Detailed logging could not be started.", (byte)250, (byte)250, (byte)0, false);
}
}
if (TimeLogger.currentlyLogging)
TimeLogger.logBuilder.AppendLine(string.Format("Start of Frame #{0}", (object)TimeLogger.currentFrame));
TimeLogger.detailedDrawTimer.Restart();
TimeLogger.lastDetailedDrawTime = TimeLogger.detailedDrawTimer.Elapsed.TotalMilliseconds;
}