Johnwikix.ScottPlot.D3D12.UWP 5.1.60.3

dotnet add package Johnwikix.ScottPlot.D3D12.UWP --version 5.1.60.3
                    
NuGet\Install-Package Johnwikix.ScottPlot.D3D12.UWP -Version 5.1.60.3
                    
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="Johnwikix.ScottPlot.D3D12.UWP" Version="5.1.60.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Johnwikix.ScottPlot.D3D12.UWP" Version="5.1.60.3" />
                    
Directory.Packages.props
<PackageReference Include="Johnwikix.ScottPlot.D3D12.UWP" />
                    
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 Johnwikix.ScottPlot.D3D12.UWP --version 5.1.60.3
                    
#r "nuget: Johnwikix.ScottPlot.D3D12.UWP, 5.1.60.3"
                    
#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 Johnwikix.ScottPlot.D3D12.UWP@5.1.60.3
                    
#: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=Johnwikix.ScottPlot.D3D12.UWP&version=5.1.60.3
                    
Install as a Cake Addin
#tool nuget:?package=Johnwikix.ScottPlot.D3D12.UWP&version=5.1.60.3
                    
Install as a Cake Tool

ScottPlot for .NET with full-GPU Direct3D 12 rendering (Johnwikix fork)

A maintained fork of ScottPlot 5 — the free, open-source plotting library for .NET — extended with a Direct3D 12 hardware rendering backend. The plotting API is unchanged from ScottPlot 5.1.60; figures that are CPU-rasterization-bound upstream render many times faster because every frame is produced entirely on the GPU (Skia GPU context, native 4x MSAA, explicit GPU resolve, no raster-surface fallback).

This fork is published under the Johnwikix.* package IDs, so it installs side by side with the official ScottPlot.* packages without conflicts.

Packages

Package Provides
Johnwikix.ScottPlot Core plotting library (MIT, API-compatible with ScottPlot 5)
Johnwikix.ScottPlot.WPF Classic WPF user controls (software Skia rendering)
Johnwikix.ScottPlot.D3D12.Core Full-GPU D3D12 renderer core (framework-agnostic)
Johnwikix.ScottPlot.D3D12 Full-GPU WPF control (D3DImage presentation, native MSAA)
Johnwikix.ScottPlot.D3D12.WinUI Full-GPU WinUI 3 control (SwapChainPanel)
Johnwikix.ScottPlot.D3D12.UWP Full-GPU UWP control (SwapChainPanel)
Johnwikix.ScottPlot.Avalonia Avalonia user control (cross-platform, software Skia rendering)
Johnwikix.ScottPlot.Avalonia.D3D12 Full-GPU D3D12 backend for the Avalonia control (Windows only)

Install

# Full-GPU WPF control (renders the whole figure on the GPU)
dotnet add package Johnwikix.ScottPlot.D3D12

# Full-GPU Avalonia backend (Windows launcher; shared views stay on Johnwikix.ScottPlot.Avalonia)
dotnet add package Johnwikix.ScottPlot.Avalonia.D3D12

# Core library only (software rendering, as upstream)
dotnet add package Johnwikix.ScottPlot

Usage

Each GPU control is a drop-in replacement for its platform's stock ScottPlot control — same Plot API, but every frame is rendered on the GPU.

WPF

<Window ...
        xmlns:spd="clr-namespace:ScottPlot.D3D12;assembly=ScottPlot.D3D12">
    <spd:WpfPlotD3D12 />
</Window>

WinUI 3 and UWP

<Page ...
      xmlns:spd="using:ScottPlot.D3D12.WinUI"> 
    <spd:WinUIPlotD3D12 /> 
</Page>

Avalonia

Shared views reference only Johnwikix.ScottPlot.Avalonia and stay cross-platform:

<UserControl ...
             xmlns:sp="clr-namespace:ScottPlot.Avalonia;assembly=ScottPlot.Avalonia">
    <sp:AvaPlot x:Name="PlotControl" />
</UserControl>

The Windows launcher (on net8.0-windows/net10.0-windows) additionally references Johnwikix.ScottPlot.Avalonia.D3D12, registers the backend at startup, and opts in per control:

using ScottPlot.Avalonia;
using ScottPlot.Avalonia.D3D12;

AppBuilder.Configure<App>().UsePlatformDetect().UseScottPlotD3D12();
PlotControl.RenderBackend = AvaPlotRenderBackend.Direct3D12; // default remains PlatformSkia
await PlotControl.RefreshAsync();

On Linux/macOS the control keeps Avalonia's Skia path; requesting Direct3D12 on another OS reports PlatformNotSupportedException instead of silently falling back. From there the standard ScottPlot API applies to all backends:

PlotControl.Plot.Add.Signal(Generate.Sin(51));

Packages in the Johnwikix.* family depend only on each other — no dependency on the official ScottPlot.* package IDs.

Source code

https://github.com/Johnwikix/ScottPlot (branch d3d12)

Quality assurance

Every release is validated by an end-to-end suite that renders hundreds of scenes across WPF, WinUI 3, and UWP real windows and compares them against the software-Skia baseline (appearance and performance), real-window Avalonia backend validation (DPI scaling, resize, Skia/D3D12 switching, failure recovery), plus hardware D3D12 unit tests.

License

MIT — inherited from upstream ScottPlot.

Product Compatible and additional computed target framework versions.
.NET net10.0-windows10.0.26100 is compatible. 
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
5.1.60.3 0 11/2/2026
5.1.60.2 0 11/2/2026
5.1.60.1 44 10/30/2026 5.1.60.1 is deprecated.
5.1.60-gpu.1 45 10/30/2026 5.1.60-gpu.1 is deprecated.

Stable release of the Johnwikix fork, based on ScottPlot 5.1.60 with full-GPU D3D12 rendering. Source: https://github.com/Johnwikix/ScottPlot