Skip to content

Commit 85535a8

Browse files
Fix overlay latency
1 parent 72eeb8f commit 85535a8

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

desktop/src/app.rs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,17 @@ impl WinitApp {
145145
}
146146
}
147147

148-
fn dispatch_editor_message(&self, message: EditorMessage) {
149-
let _ = self.event_loop_proxy.send_event(CustomEvent::EditorMessage(message));
148+
fn handle_native_messages(&mut self, messages: Vec<NativeMessage>) {
149+
for message in messages {
150+
self.handle_native_message(message);
151+
}
152+
}
153+
154+
fn dispatch_editor_message(&mut self, message: EditorMessage) {
155+
let responses = self.editor_wrapper.dispatch(message);
156+
for response in responses {
157+
self.handle_native_message(response);
158+
}
150159
}
151160
}
152161

@@ -205,15 +214,8 @@ impl ApplicationHandler<CustomEvent> for WinitApp {
205214

206215
fn user_event(&mut self, _: &ActiveEventLoop, event: CustomEvent) {
207216
match event {
208-
CustomEvent::NativeMessage(message) => {
209-
self.handle_native_message(message);
210-
}
211-
CustomEvent::EditorMessage(message) => {
212-
let responses = self.editor_wrapper.dispatch(message);
213-
for response in responses {
214-
self.handle_native_message(response);
215-
}
216-
}
217+
CustomEvent::NativeMessages(messages) => self.handle_native_messages(messages),
218+
CustomEvent::EditorMessage(message) => self.dispatch_editor_message(message),
217219
CustomEvent::UiUpdate(texture) => {
218220
if let Some(graphics_state) = self.graphics_state.as_mut() {
219221
graphics_state.resize(texture.width(), texture.height());

desktop/src/main.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use editor_api::{EditorApi, EditorWrapper};
2323
pub(crate) enum CustomEvent {
2424
UiUpdate(wgpu::Texture),
2525
ScheduleBrowserWork(Instant),
26-
NativeMessage(NativeMessage),
26+
NativeMessages(Vec<NativeMessage>),
2727
EditorMessage(EditorMessage),
2828
}
2929

@@ -65,9 +65,7 @@ fn main() {
6565
let last_render = Instant::now();
6666

6767
let responses = EditorWrapper::poll();
68-
for response in responses.into_iter() {
69-
let _ = rendering_loop_proxy.send_event(CustomEvent::NativeMessage(response));
70-
}
68+
let _ = rendering_loop_proxy.send_event(CustomEvent::NativeMessages(responses));
7169

7270
let frame_time = Duration::from_secs_f32((target_fps as f32).recip());
7371
let sleep = last_render + frame_time - Instant::now();

0 commit comments

Comments
 (0)