dtcristo / bevy_pixels

Bevy plugin that uses Pixels (a tiny pixel buffer) for rendering
https://docs.rs/bevy_pixels
Apache License 2.0
84 stars 12 forks source link

Respect present_mode when creating the Pixels instance #20

Closed tryone144 closed 6 months ago

tryone144 commented 9 months ago

Bevy's WindowPlugin allows passing a present_mode flag to control wgpu's presentation or flip mode for the display surface. This is originally read and applied in the internals of bevy's own renderer.

We should respect this flag and apply it when creating the Pixels instance (which does the wgpu handling internally). This is achieved by using the PixelsBuilder instead of the Pixels::new() function and setting the requested present_mode with the PixelsBuilder::present_mode() function.


Ideally, we would detect changes to this field as well and then request pixels to update the present_mode. This is currently not possible with version 0.13, but https://github.com/parasyte/pixels/pull/373 added a new setter on the Pixels instance that would allow exactly this. I expect this to land in the next release of pixels.

dtcristo commented 9 months ago

Very nice. I'll have a play with this and merge it soon.