From 0e66c1421c302f221ce122db9d248499f15b0bea Mon Sep 17 00:00:00 2001 From: Ethan Lee Date: Tue, 2 Feb 2016 15:51:32 -0500 Subject: [PATCH] Fix and optimize target sets/clears --- TrueCraft.Client/TrueCraftGame.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/TrueCraft.Client/TrueCraftGame.cs b/TrueCraft.Client/TrueCraftGame.cs index a882eec..0e164be 100644 --- a/TrueCraft.Client/TrueCraftGame.cs +++ b/TrueCraft.Client/TrueCraftGame.cs @@ -81,6 +81,7 @@ namespace TrueCraft.Client Graphics.PreferredBackBufferWidth = UserSettings.Local.WindowResolution.Width; Graphics.PreferredBackBufferHeight = UserSettings.Local.WindowResolution.Height; Graphics.GraphicsProfile = GraphicsProfile.HiDef; + Graphics.PreparingDeviceSettings += PrepareDeviceSettings; Graphics.ApplyChanges(); Window.ClientSizeChanged += Window_ClientSizeChanged; Client = client; @@ -101,6 +102,11 @@ namespace TrueCraft.Client Components.Add(GamePadComponent); } + void PrepareDeviceSettings(object sender, PreparingDeviceSettingsEventArgs e) + { + e.GraphicsDeviceInformation.PresentationParameters.RenderTargetUsage = RenderTargetUsage.PreserveContents; + } + void Window_ClientSizeChanged(object sender, EventArgs e) { if (GraphicsDevice.Viewport.Width < 640 || GraphicsDevice.Viewport.Height < 480) @@ -418,7 +424,7 @@ namespace TrueCraft.Client GraphicsDevice.SetRenderTarget(null); - SpriteBatch.Begin(); + SpriteBatch.Begin(SpriteSortMode.Immediate, BlendState.Opaque); SpriteBatch.Draw(RenderTarget, Vector2.Zero, Color.White); SpriteBatch.End();