Moved Canvas rendering to a single thread.

This commit is contained in:
Brody-Eastwood 2018-04-22 20:21:38 -04:00
parent 05fe8fa08d
commit f3065f3707
6 changed files with 1270 additions and 1111 deletions

View file

@ -371,20 +371,19 @@ impl CanvasRenderingContext2D {
None => return Err(Error::InvalidState),
};
let (sender, receiver) = ipc::channel(self.global().time_profiler_chan().clone()).unwrap();
let msg = CanvasMsg::Canvas2d(Canvas2dMsg::DrawImageInOther(
self.ipc_renderer.clone(),
self.get_canvas_id(),
image_size,
dest_rect,
source_rect,
smoothing_enabled,
sender),
context.get_canvas_id());
let msg = CanvasMsg::Canvas2d(
Canvas2dMsg::DrawImageInOther(
self.get_canvas_id(),
image_size,
dest_rect,
source_rect,
smoothing_enabled
),
context.get_canvas_id()
);
let renderer = context.get_ipc_renderer();
renderer.send(msg).unwrap();
receiver.recv().unwrap();
};
self.mark_as_dirty();