canvas: Use create_similar_draw_target for recreate (#38336)

`create_similar_draw_target` is more performant then creating completely
new target (this creates new wgpu device in vello backend).

Testing: This change does not modify test results, but should increase
performance.

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
sagudev 2025-07-29 21:45:49 +02:00 committed by GitHub
parent f16e7d6daa
commit 82f5524901
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -632,7 +632,9 @@ impl<DrawTarget: GenericDrawTarget> CanvasData<DrawTarget> {
.max(MIN_WR_IMAGE_SIZE);
// Step 1. Clear canvas's bitmap to transparent black.
self.drawtarget = DrawTarget::new(Size2D::new(size.width, size.height).cast());
self.drawtarget = self
.drawtarget
.create_similar_draw_target(&Size2D::new(size.width, size.height).cast());
self.update_image_rendering();
}