diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index 43f98f040c..41f99ebfb9 100755 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -148,6 +148,7 @@ namespace OpenRA PerfHistory.items["render"].Tick(); PerfHistory.items["batches"].Tick(); PerfHistory.items["render_widgets"].Tick(); + PerfHistory.items["render_flip"].Tick(); afterTickActions.PerformActions(); } @@ -303,6 +304,7 @@ namespace OpenRA PerfHistory.items["render"].hasNormalTick = false; PerfHistory.items["batches"].hasNormalTick = false; PerfHistory.items["render_widgets"].hasNormalTick = false; + PerfHistory.items["render_flip"].hasNormalTick = false; JoinLocal(); viewport = new Viewport(new int2(Renderer.Resolution), Rectangle.Empty, Renderer); diff --git a/OpenRA.Game/Graphics/Viewport.cs b/OpenRA.Game/Graphics/Viewport.cs index 5786cd3000..7f77ea6c9f 100755 --- a/OpenRA.Game/Graphics/Viewport.cs +++ b/OpenRA.Game/Graphics/Viewport.cs @@ -49,7 +49,7 @@ namespace OpenRA.Graphics scrollPosition = newScrollPosition; } - private int2 NormalizeScrollPosition(int2 newScrollPosition) + int2 NormalizeScrollPosition(int2 newScrollPosition) { return newScrollPosition.Clamp(adjustedMapBounds); } @@ -97,7 +97,10 @@ namespace OpenRA.Graphics Game.modData.Palette.GetPaletteIndex(cursorSequence.Palette)); } - renderer.EndFrame( inputHandler ); + using( new PerfSample("render_flip") ) + { + renderer.EndFrame( inputHandler ); + } } public void Tick() @@ -109,6 +112,7 @@ namespace OpenRA.Graphics { return (1f / Game.CellSize) * (loc.ToFloat2() + Location); } + public float2 ViewToWorld(MouseInput mi) { return ViewToWorld(mi.Location);