Skip to content

Commit a4fe9af

Browse files
committed
Reduce memory footprint
1 parent d584392 commit a4fe9af

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

source/Bango/Renderer/RendererInstance.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ private void CreateGraphicsDevice()
184184
{
185185
PreferStandardClipSpaceYDirection = true,
186186
PreferDepthRangeZeroToOne = true,
187-
SwapchainDepthFormat = PixelFormat.D24_UNorm_S8_UInt,
187+
SwapchainDepthFormat = null,
188188
SwapchainSrgbFormat = false,
189189
SyncToVerticalBlank = true,
190190
HasMainSwapchain = true
@@ -202,6 +202,7 @@ public void OnWindowResized( Point2 newSize )
202202
Device.MainSwapchain.Resize( (uint)(newSize.X * dpiScale), (uint)(newSize.Y * dpiScale) );
203203

204204
// Cleanup old MSAA resources
205+
MultisampledFramebuffer?.ColorTargets[0].Target.Dispose();
205206
MultisampledFramebuffer?.Dispose();
206207
ResolveTexture?.Dispose();
207208

source/Bango/Renderer/UI/PanelRenderer.Core.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ namespace Bango;partial class PanelRenderer
77
private uint indexCount;
88
private bool isDirty = false;
99

10+
private DeviceBuffer uniformBuffer;
1011
private DeviceBuffer vertexBuffer;
1112
private DeviceBuffer indexBuffer;
1213
private Shader shader;
@@ -57,14 +58,16 @@ private void CreateResources()
5758
.WithShader( shader )
5859
.Build();
5960

60-
var ub = Device.ResourceFactory.CreateBuffer( new BufferDescription( 16, BufferUsage.UniformBuffer ) );
61-
Device.UpdateBuffer( ub, 0, new float[] { Screen.Size.X, Screen.Size.Y } );
61+
if ( uniformBuffer == null )
62+
uniformBuffer = Device.ResourceFactory.CreateBuffer( new BufferDescription( 16, BufferUsage.UniformBuffer ) );
63+
64+
Device.UpdateBuffer( uniformBuffer, 0, new float[] { Screen.Size.X, Screen.Size.Y } );
6265

6366
var objectResourceSetDescription = new ResourceSetDescription(
6467
pipeline.ResourceLayouts[0],
6568
AtlasBuilder.Texture.VeldridTexture,
6669
Device.Aniso4xSampler,
67-
ub
70+
uniformBuffer
6871
);
6972

7073
objectResourceSet = Device.ResourceFactory.CreateResourceSet( objectResourceSetDescription );
@@ -73,7 +76,10 @@ private void CreateResources()
7376
[Event.Window.Resized]
7477
public void OnWindowResized( Point2 newSize )
7578
{
76-
CreateResources();
79+
//pipeline.Delete();
80+
//objectResourceSet?.Dispose();
81+
82+
//CreateResources();
7783
}
7884

7985
private void UpdateBuffers()

0 commit comments

Comments
 (0)