Merge pull request #2837 from dtzxporter/Expose-setting-to-toggle-vsync-on/off-
Expose setting to disable vsync if requested.
This commit is contained in:
commit
a81f0a2459
3 changed files with 20 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,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -42,6 +48,7 @@ impl From<core::Settings> for Settings {
|
|||
},
|
||||
default_text_size: settings.default_text_size,
|
||||
antialiasing: settings.antialiasing.then_some(Antialiasing::MSAAx4),
|
||||
vsync: settings.vsync,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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