public static void Draw() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<size=24>"); stringBuilder.AppendLine("FPS Statistics:"); stringBuilder.AppendLine(string.Format("Frame: {0}", FPSStatistic.count)); stringBuilder.AppendLine(string.Format("Avg: {0:F2}", FPSStatistic.avgFps)); stringBuilder.AppendLine(string.Format("Min: {0:F2}", FPSStatistic.MinFps)); stringBuilder.AppendLine(string.Format("Max: {0:F2}", FPSStatistic.MaxFps)); bool flag = false; for (int i = 0; i < FPSStatistic.distributes.Length; i++) { FPSStatistic.Distribute distribute = FPSStatistic.distributes[i]; if (distribute.count != 0 || flag) { flag = true; stringBuilder.AppendLine(string.Format("{0}: {1} ({2:F2}%)", distribute.name, distribute.count, (double)distribute.count * 100.0 / (double)FPSStatistic.count)); } } stringBuilder.Append("</size>"); Color color = GUI.color; GUI.color = Color.red; GUI.Label(new Rect(20f, 20f, (float)Screen.width, (float)Screen.height), stringBuilder.ToString()); GUI.color = color; }
private static void AddSample(float fps) { FPSStatistic.total_ += (double)fps; FPSStatistic.count++; if (FPSStatistic.MinFps > fps) { FPSStatistic.MinFps = fps; } if (FPSStatistic.MaxFps < fps) { FPSStatistic.MaxFps = fps; } for (int i = 0; i < FPSStatistic.distributes.Length; i++) { FPSStatistic.Distribute distribute = FPSStatistic.distributes[i]; if (fps >= distribute.MinValue) { distribute.count++; break; } } }