diff --git a/src/OpenTK/Platform/Android/AndroidGameView.cs b/src/OpenTK/Platform/Android/AndroidGameView.cs index 6d6d01e0..5cd78e00 100644 --- a/src/OpenTK/Platform/Android/AndroidGameView.cs +++ b/src/OpenTK/Platform/Android/AndroidGameView.cs @@ -493,8 +493,8 @@ namespace OpenTK.Platform.Android DateTime prevRenderTime; DateTime curUpdateTime; DateTime curRenderTime; - FrameEventArgs updateEventArgs; - FrameEventArgs renderEventArgs; + FrameEventArgs updateEventArgs = new FrameEventArgs(); + FrameEventArgs renderEventArgs = new FrameEventArgs(); // this method is called on the main thread if RenderOnUIThread is true void RunIteration (CancellationToken token) @@ -505,21 +505,19 @@ namespace OpenTK.Platform.Android if (!ReadyToRender) return; - updateEventArgs = new FrameEventArgs (); curUpdateTime = DateTime.Now; if (prevUpdateTime.Ticks != 0) { var t = (curUpdateTime - prevUpdateTime).TotalSeconds; - updateEventArgs.Time = t < 0 ? 0 : t; + updateEventArgs.Time = t; } UpdateFrameInternal (updateEventArgs); prevUpdateTime = curUpdateTime; - renderEventArgs = new FrameEventArgs (); curRenderTime = DateTime.Now; if (prevRenderTime.Ticks == 0) { var t = (curRenderTime - prevRenderTime).TotalSeconds; - renderEventArgs.Time = t < 0 ? 0 : t; + renderEventArgs.Time = t; } RenderFrameInternal (renderEventArgs); diff --git a/src/OpenTK/Platform/iPhoneOS/iPhoneOSGameView.cs b/src/OpenTK/Platform/iPhoneOS/iPhoneOSGameView.cs index 201f2aac..8d4702ac 100644 --- a/src/OpenTK/Platform/iPhoneOS/iPhoneOSGameView.cs +++ b/src/OpenTK/Platform/iPhoneOS/iPhoneOSGameView.cs @@ -861,20 +861,20 @@ namespace OpenTK.Platform.iPhoneOS internal void RunIteration (NSTimer timer) { var curUpdateTime = stopwatch.Elapsed; - if (prevUpdateTime == TimeSpan.Zero) - prevUpdateTime = curUpdateTime; - var t = (curUpdateTime - prevUpdateTime).TotalSeconds; - updateEventArgs.Time = t; + if (prevUpdateTime.Ticks != 0) { + var t = (curUpdateTime - prevUpdateTime).TotalSeconds; + updateEventArgs.Time = t; + } OnUpdateFrame(updateEventArgs); prevUpdateTime = curUpdateTime; gl.BindFramebuffer(All.FramebufferOes, framebuffer); var curRenderTime = stopwatch.Elapsed; - if (prevRenderTime == TimeSpan.Zero) - prevRenderTime = curRenderTime; - t = (curRenderTime - prevRenderTime).TotalSeconds; - renderEventArgs.Time = t; + if (prevRenderTime.Ticks == 0) { + var t = (curRenderTime - prevRenderTime).TotalSeconds; + renderEventArgs.Time = t; + } OnRenderFrame(renderEventArgs); prevRenderTime = curRenderTime; }