From: Stefanos A. Date: Sat, 11 Jan 2014 00:46:38 +0000 (+0100) Subject: [OpenTK] Frameskip needs TargetUpdateFrequency!=0 X-Git-Tag: 2.0-0~259^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c31f64f7e1508d7aad08a043692aa123a9cebdbf;p=platform%2Fcore%2Fcsapi%2Fopentk.git [OpenTK] Frameskip needs TargetUpdateFrequency!=0 --- diff --git a/Source/OpenTK/GameWindow.cs b/Source/OpenTK/GameWindow.cs index 8012eba..a4a6131 100644 --- a/Source/OpenTK/GameWindow.cs +++ b/Source/OpenTK/GameWindow.cs @@ -441,20 +441,23 @@ namespace OpenTK { // Raise UpdateFrame events until we catch up with our target update rate. double update_elapsed = MathHelper.Clamp(timestamp - update_timestamp, 0.0, 1.0); - if (RaiseUpdateFrame(update_elapsed)) + if (update_elapsed > 0) { - update_period = update_elapsed; - update_timestamp = timestamp; - timestamp = watch.Elapsed.TotalSeconds; - update_time = timestamp - update_timestamp; - } - else - { - // We have executed enough UpdateFrame events to catch up. - // Break and issue a RenderFrame event. - break; + if (RaiseUpdateFrame(update_elapsed)) + { + update_period = update_elapsed; + update_timestamp = timestamp; + timestamp = watch.Elapsed.TotalSeconds; + update_time = timestamp - update_timestamp; + } + else + { + // We have executed enough UpdateFrame events to catch up. + // Break and issue a RenderFrame event. + break; + } } - } while (++frameskip < max_frameskip); + } while (TargetRenderFrequency > 0 && ++frameskip < max_frameskip); timestamp = watch.Elapsed.TotalSeconds; double render_elapsed = MathHelper.Clamp(timestamp - render_timestamp, 0.0, 1.0);