AssemblyBrowser.SimpleGLWindow.RunWindowLoop C# (CSharp) Method

RunWindowLoop() public method

public RunWindowLoop ( ) : void
return void
        public void RunWindowLoop()
        {
            Visible = true;
            while (Visible)
            {
                _previousFrameStartTime = DateTime.UtcNow;

                RenderFrame();

                NativeWindow.ProcessEvents();

                DateTime afterFrameTime = DateTime.UtcNow;
                double elapsed = (afterFrameTime - _previousFrameStartTime).TotalSeconds;
                double sleepTime = s_desiredFrameLength - elapsed;
                if (sleepTime > 0.0)
                {
                    DateTime finishTime = afterFrameTime + TimeSpan.FromSeconds(sleepTime);
                    while (DateTime.UtcNow < finishTime)
                    {
                        Thread.Sleep(0);
                    }
                }
            }
        }