From 12332d3c349c473e09381d7bca8a320a4b343b0d Mon Sep 17 00:00:00 2001 From: RDW Date: Fri, 15 Dec 2023 18:42:40 +0100 Subject: [PATCH] Client: Eliminate some redundant buffer writes Huh, this doesn't make any sense at all... The scenewide uniform data needs to be updated once per frame, not once per mesh. Perhaps this was supposed to be per-material or even per-mesh data, but I think it's just a copy/paste error. Caught this thanks to tracing WebGPU API calls, so etrace already paid off... This is wasteful and can safely be removed. --- Core/NativeClient/Renderer.lua | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Core/NativeClient/Renderer.lua b/Core/NativeClient/Renderer.lua index ef3fcf41..b8b344b4 100644 --- a/Core/NativeClient/Renderer.lua +++ b/Core/NativeClient/Renderer.lua @@ -155,16 +155,6 @@ function Renderer:DrawMesh(renderPass, mesh) RenderPassEncoder:SetVertexBuffer(renderPass, 2, mesh.diffuseTexCoordsBuffer, 0, diffuseTexCoordsBufferSize) RenderPassEncoder:SetIndexBuffer(renderPass, mesh.indexBuffer, ffi.C.WGPUIndexFormat_Uint16, 0, indexBufferSize) - local currentTime = uv.hrtime() / 10E9 - self.perSceneUniformData.time = currentTime - Queue:WriteBuffer( - Device:GetQueue(self.wgpuDevice), - self.uniformBuffer, - 0, - self.perSceneUniformData, - ffi.sizeof(self.perSceneUniformData) - ) - RenderPassEncoder:SetBindGroup(renderPass, 0, self.bindGroup, 0, nil) if not mesh.texture then