Fix and optimize target sets/clears

This commit is contained in:
Ethan Lee 2016-02-02 15:51:32 -05:00
parent 8e71649774
commit 0e66c1421c

View File

@ -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();