FrameFlux.Avalonia.Windows 0.1.1

dotnet add package FrameFlux.Avalonia.Windows --version 0.1.1
                    
NuGet\Install-Package FrameFlux.Avalonia.Windows -Version 0.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FrameFlux.Avalonia.Windows" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FrameFlux.Avalonia.Windows" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="FrameFlux.Avalonia.Windows" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FrameFlux.Avalonia.Windows --version 0.1.1
                    
#r "nuget: FrameFlux.Avalonia.Windows, 0.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FrameFlux.Avalonia.Windows@0.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FrameFlux.Avalonia.Windows&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=FrameFlux.Avalonia.Windows&version=0.1.1
                    
Install as a Cake Tool

FrameFlux.Avalonia.Windows

This package adds Windows D3D11 presentation to FrameFlux.Avalonia.MediaView. Register it while configuring Avalonia:

AppBuilder.Configure<App>()
    .UsePlatformDetect()
    .UseFrameFluxWindows();

NativeSurface uses a child HWND and D3D11 swap chain for minimum latency. GpuComposition draws a shared D3D11 texture through Avalonia's compositor and supports Avalonia overlays. Both paths automatically fall back to the core software output after repeated presentation failures.

Direct GPU Drawing

On supported ANGLE/EGL contexts, the default path draws the shared texture directly from the compositor thread. It avoids Avalonia's per-update snapshot texture allocation and copy. To use the original GPU snapshot path instead, set this switch before creating the application:

AppContext.SetSwitch("FrameFlux.Windows.DirectGpuDrawing", false);

The presentation mode remains GpuComposition. Source resolution, D3D11 video conversion and the default linear sampling are unchanged. Unsupported contexts or import failures fall back to the existing GPU snapshot output, without using a native child window.

The frame pump retains at most two pending decoder leases to absorb arrival jitter. When a backlog is older than 50 ms, it selects the newest pending frame instead of accumulating latency. It stops polling after a short idle period. Resource release is serialized with incoming frames; GPU cleanup runs on the compositor thread.

Local verification covers 30/60 fps playback, a live 1440p HEVC stream, overlays, pause/resume, resize, stop/restart, resource recreation and snapshot fallback. Multi-adapter hot switching and physical device removal have not been validated. Snapshot submission counts and direct draw counts are different pipeline stages and must not be treated as measured scanout FPS.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1 55 9/8/2026
0.1.0 83 9/1/2026