From 31802ea96fc5dcad682db05a07989ca87d216ca0 Mon Sep 17 00:00:00 2001 From: David Wendt Date: Fri, 2 Sep 2022 20:58:44 -0400 Subject: [PATCH] chore: Reduce the number of necessary reads of the preload progress --- core/src/display_object/movie_clip.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/core/src/display_object/movie_clip.rs b/core/src/display_object/movie_clip.rs index 33aa571e5..3d0016bb5 100644 --- a/core/src/display_object/movie_clip.rs +++ b/core/src/display_object/movie_clip.rs @@ -379,13 +379,17 @@ impl<'gc> MovieClip<'gc> { // Should be able to hoist this up somewhere, or use MaybeUninit. let mut static_data = (&*self.0.read().static_data).clone(); let data = self.0.read().static_data.swf.clone(); - let mut reader = data.read_from(static_data.preload_progress.read().next_preload_chunk); - let (mut cur_frame, mut start_pos) = { + let (mut cur_frame, mut start_pos, next_preload_chunk, preload_symbol) = { let read = static_data.preload_progress.read(); - (read.cur_preload_frame, read.last_frame_start_pos) + ( + read.cur_preload_frame, + read.last_frame_start_pos, + read.next_preload_chunk, + read.cur_preload_symbol, + ) }; + let mut reader = data.read_from(next_preload_chunk); - let preload_symbol = static_data.preload_progress.read().cur_preload_symbol; if let Some(cur_preload_symbol) = preload_symbol { if let Some(movie) = self.movie() { match context