Expose setting to disable vsync if requested.
- This improves rendering performance on windows 10x and doesn't result in noticeable tearing. The user can decide if they want it anyways.
This commit is contained in:
parent
6bf709e03e
commit
5dcab9bf3a
3 changed files with 19 additions and 0 deletions
|
|
@ -33,6 +33,13 @@ pub struct Settings {
|
|||
///
|
||||
/// By default, it is enabled.
|
||||
pub antialiasing: bool,
|
||||
|
||||
/// Whether or not to attempt to synchronize rendering when possible.
|
||||
///
|
||||
/// Disabling it can improve rendering performance on some platforms.
|
||||
///
|
||||
/// By default, it is enabled.
|
||||
pub vsync: bool,
|
||||
}
|
||||
|
||||
impl Default for Settings {
|
||||
|
|
@ -43,6 +50,7 @@ impl Default for Settings {
|
|||
default_font: Font::default(),
|
||||
default_text_size: Pixels(16.0),
|
||||
antialiasing: true,
|
||||
vsync: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,11 @@ pub struct Settings {
|
|||
///
|
||||
/// By default, it is `None`.
|
||||
pub antialiasing: Option<Antialiasing>,
|
||||
|
||||
/// Whether or not to synchronize frames.
|
||||
///
|
||||
/// By default, it is `true`.
|
||||
pub vsync: bool,
|
||||
}
|
||||
|
||||
impl Default for Settings {
|
||||
|
|
@ -24,6 +29,7 @@ impl Default for Settings {
|
|||
default_font: Font::default(),
|
||||
default_text_size: Pixels(16.0),
|
||||
antialiasing: None,
|
||||
vsync: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,11 @@ impl Default for Settings {
|
|||
impl From<graphics::Settings> for Settings {
|
||||
fn from(settings: graphics::Settings) -> Self {
|
||||
Self {
|
||||
present_mode: if settings.vsync {
|
||||
wgpu::PresentMode::AutoVsync
|
||||
} else {
|
||||
wgpu::PresentMode::AutoNoVsync
|
||||
},
|
||||
default_font: settings.default_font,
|
||||
default_text_size: settings.default_text_size,
|
||||
antialiasing: settings.antialiasing,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue