Avoid redundant property reads in Renderer.SetViewportParams

This commit is contained in:
RoosterDragon
2018-04-27 21:33:10 +01:00
committed by Paul Chote
parent 3082df7dfd
commit 90981e5bda

View File

@@ -41,9 +41,9 @@ namespace OpenRA
float depthScale; float depthScale;
float depthOffset; float depthOffset;
Size? lastResolution; Size lastResolution = new Size(-1, -1);
int2? lastScroll; int2 lastScroll = new int2(-1, -1);
float? lastZoom; float lastZoom = -1f;
ITexture currentPaletteTexture; ITexture currentPaletteTexture;
IBatchRenderer currentBatchRenderer; IBatchRenderer currentBatchRenderer;
@@ -124,8 +124,8 @@ namespace OpenRA
if (resolutionChanged) if (resolutionChanged)
{ {
lastResolution = Resolution; lastResolution = Resolution;
RgbaSpriteRenderer.SetViewportParams(Resolution, 0f, 0f, 1f, int2.Zero); RgbaSpriteRenderer.SetViewportParams(lastResolution, 0f, 0f, 1f, int2.Zero);
SpriteRenderer.SetViewportParams(Resolution, 0f, 0f, 1f, int2.Zero); SpriteRenderer.SetViewportParams(lastResolution, 0f, 0f, 1f, int2.Zero);
} }
// If zoom evaluates as different due to floating point weirdness that's OK, setting the parameters again is harmless. // If zoom evaluates as different due to floating point weirdness that's OK, setting the parameters again is harmless.
@@ -133,9 +133,9 @@ namespace OpenRA
{ {
lastScroll = scroll; lastScroll = scroll;
lastZoom = zoom; lastZoom = zoom;
WorldRgbaSpriteRenderer.SetViewportParams(Resolution, depthScale, depthOffset, zoom, scroll); WorldRgbaSpriteRenderer.SetViewportParams(lastResolution, depthScale, depthOffset, zoom, scroll);
WorldSpriteRenderer.SetViewportParams(Resolution, depthScale, depthOffset, zoom, scroll); WorldSpriteRenderer.SetViewportParams(lastResolution, depthScale, depthOffset, zoom, scroll);
WorldModelRenderer.SetViewportParams(Resolution, zoom, scroll); WorldModelRenderer.SetViewportParams(lastResolution, zoom, scroll);
} }
} }