[][src]Enum druid_shell::windows::PresentStrategy

pub enum PresentStrategy {
    Hwnd,
    Sequential,
    Flip,
    FlipRedirect,
}

It's very tricky to get smooth dynamics (especially resizing) and good performance on Windows. This setting lets clients experiment with different strategies.

Variants

Hwnd

Don't try to use DXGI at all, only create Hwnd render targets. Note: on Windows 7 this is the only mode available.

Sequential

Corresponds to the swap effect DXGI_SWAP_EFFECT_SEQUENTIAL. In testing, it causes diagonal banding artifacts with Nvidia adapters, and incremental present doesn't work. However, it is compatible with GDI (such as menus).

Flip

Corresponds to the swap effect DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL. In testing, it seems to perform well (including allowing smooth resizing when the frame can be rendered quickly), but isn't compatible with GDI.

FlipRedirect

Corresponds to the swap effect DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL but with a redirection surface for GDI compatibility. Resize is very laggy and artifacty.

Trait Implementations

impl Clone for PresentStrategy[src]

impl Copy for PresentStrategy[src]

impl Default for PresentStrategy[src]

impl Eq for PresentStrategy[src]

impl PartialEq<PresentStrategy> for PresentStrategy[src]

impl Debug for PresentStrategy[src]

impl StructuralPartialEq for PresentStrategy[src]

impl StructuralEq for PresentStrategy[src]

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> RoundFrom<T> for T

impl<T, U> RoundInto<U> for T where
    U: RoundFrom<T>,