From 837d9bbf61968ae78c57dbb49a7bb7699094ad5d Mon Sep 17 00:00:00 2001 From: Tekhnae Raav Date: Fri, 31 May 2024 20:19:09 -0500 Subject: [PATCH] Remove Allocation When Handling Asset Changes --- framework_crates/bones_asset/src/server.rs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/framework_crates/bones_asset/src/server.rs b/framework_crates/bones_asset/src/server.rs index bad02bc99d..be40c5abd2 100644 --- a/framework_crates/bones_asset/src/server.rs +++ b/framework_crates/bones_asset/src/server.rs @@ -223,12 +223,11 @@ impl AssetServer { &mut self, mut handle_change: F, ) { - let mut pending_asset_changes = Vec::new(); while let Ok(changed) = self.asset_change_recv.try_recv() { match changed { ChangedAsset::Loc(loc) => { let handle = self.load_asset_forced(loc.as_ref()); - pending_asset_changes.push(handle); + handle_change(self, handle) } ChangedAsset::Handle(handle) => { let entry = self @@ -240,14 +239,10 @@ impl AssetServer { let loc = entry.key().to_owned(); drop(entry); self.load_asset_forced(loc.as_ref()); - pending_asset_changes.push(handle); + handle_change(self, handle) } } } - - for handle in pending_asset_changes { - handle_change(self, handle) - } } /// Load all assets. This is usually done in an async task.