public void Go() { Show(); // Sets the timer interval to 50 milliseconds. myTimer.Elapsed += TimerEventProcessor; myTimer.Interval = 50; myTimer.Start(); while (running) { if (mRoot != null) { mRoot.RenderOneFrame(); } manager.Process(); try { RenderTarget.FrameStats stats = mWindow.GetStatistics(); FPSLabel.Text = "FPS: " + stats.LastFPS.ToString("0.00"); String pos = " X:" + cam.Position.x.ToString("0.00") + " Y:" + cam.Position.y.ToString("0.00") + " Z:" + cam.Position.z.ToString("0.00"); CamLabel.Text = "Camera:" + pos; } catch (Exception e) { StatusLabel.Text = "Exception: " + e.Message; } Application.DoEvents(); } }
private void UpdateStats() { string currFps = "Current FPS: "; string avgFps = "Average FPS: "; string bestFps = "Best FPS: "; string worstFps = "Worst FPS: "; string tris = "Triangle Count: "; // update stats when necessary try { OverlayElement guiAvg = OverlayManager.Singleton.GetOverlayElement("Core/AverageFps"); OverlayElement guiCurr = OverlayManager.Singleton.GetOverlayElement("Core/CurrFps"); OverlayElement guiBest = OverlayManager.Singleton.GetOverlayElement("Core/BestFps"); OverlayElement guiWorst = OverlayManager.Singleton.GetOverlayElement("Core/WorstFps"); RenderTarget.FrameStats stats = this.renderWindow.GetStatistics(); guiAvg.Caption = avgFps + stats.AvgFPS; guiCurr.Caption = currFps + stats.LastFPS; guiBest.Caption = bestFps + stats.BestFPS + " " + stats.BestFrameTime + " ms"; guiWorst.Caption = worstFps + stats.WorstFPS + " " + stats.WorstFrameTime + " ms"; OverlayElement guiTris = OverlayManager.Singleton.GetOverlayElement("Core/NumTris"); guiTris.Caption = tris + stats.TriangleCount; } catch { // ignore } }
public bool root_FrameStarted(FrameEvent evt) { HandleInput(evt); //mandatory call to update, without it, our overlay aren't refreshed _HikariManager.Update(); RenderTarget.FrameStats stats = this.window.GetStatistics(); object[] args = new object[1]; args[0] = (int)stats.LastFPS; //call a flash function to update the number of fps _FpsControl.CallFunction("setFPS", args); return(!ShouldQuit); }