SimdSkia 0.1.3

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

SimdSkia 0.1.3 正式版:GPU 优先与文字缓存优化

从0.1.2升级:桌面默认GPU优先,Windows Direct2D原生呈现、Linux Vulkan、诊断后回退CPU;macOS窗口仍CPU。.UseSimdSkiaDesktop(options => options.UseCpu()) 可保留CPU。新增两帧完成队列、状态缓存、跨帧回退像素修复、文字缓存共享计费/不可变遮罩/LRU及Vulkan有序合批。动态中文自身GPU耗时下降81%–93%,分配降至约168–169B/帧,详细CPU/内存和画质限制见0.1.3发行说明及包内CHANGELOG.md。Avalonia仍>=12.1.0且<13.0.0;原版文字/曲线/整页画质、JPEG及部分性能/内存差距保留,整体目标未全部达到。第三方依赖保持可选 PdfPig 0.1.16、Sdcb.SimdCodecs1.4.0与Clipper2 2.0.0,公开状态以发布记录为准。

0.1.2 历史累计功能

固定SkiaSharp3.119.4基线,892→3230/3235项、累计新增2338项公共元数据签名,63→201类型;按约定保留5项原生合同缺口。扩展路径/描边/渐变/采样/滤镜/Blender/RuntimeEffect子集、Picture/网格、真实Alpha8/浮点颜色、LCD/中文点阵、SVG/XPS/SKP与PDF注释。增加GL/GLES/D3D12/Metal核心及GPU资源互操作,优化Vulkan设备复制/矩形合批/完成读回、SIMD/有界缓存/分配;修复MoveTo、SaveLayer混合范围和纹理生命周期。

Avalonia接受>=12.1.0且<13.0.0,已验证宿主12.1.0–12.1.5。默认SK*解码校正为N32/预乘,直接读取像素的应用应检查ColorType/AlphaType/RowBytes。依赖保持Sdcb.SimdCodecs1.4.0/Clipper2 2.0.0/可选 PdfPig 0.1.16。Metal无Mac GPU实机验证;JPEG、曲线/文字/整页画质、内存及部分GPU/API性能仍有差距。正式版按已实现子集发布,不是全面行为或二进制替换保证;GPU对象要求创建线程显式Dispose。

完整累计更新、性能记录、限制与升级方法见包内CHANGELOG.md和0.1.2发行说明。原始测量按快照保留,不以正式版本号改写画质结果。

Packages target .NET 10 or later:

Package Purpose
SimdSkia Convenience package for the source compatibility facade
SimdSkia.Core Geometry, commands and pixel storage
SimdSkia.Cpu Scalar/SIMD CPU rasterization and composition
SimdSkia.Text Managed static glyf TrueType parsing and basic Latin/CJK layout
SimdSkia.Imaging Managed Sdcb codecs with validated input, supported colour conversion and permitted BCL compression
SimdSkia.Gpu Vulkan and GL/GLES; experimental Metal core without hardware validation; requires system APIs/drivers
SimdSkia.Compatibility Implemented SkiaSharp namespace / SK* facade
SimdSkia.Avalonia Rendering/font adapter for Avalonia >=12.1.0 and <13.0.0
SimdSkia.Avalonia.Desktop Windows/Linux X11/macOS OS hosts plus the managed renderer
SimdSkia.Avalonia.Gpu Optional Direct2D native presentation / Vulkan framebuffer drawing
SimdSkia.Gpu.Direct2D Windows hardware Direct2D/D3D11 canvas, C# system API bindings
SimdSkia.Pdf Optional managed PDF parsing/rendering; subset only, pinned PdfPig 0.1.16
dotnet add package SimdSkia.Avalonia.Desktop --version 0.1.3

An existing Avalonia 12.1.5 application selects the adapter explicitly:

using SimdSkia.Avalonia;

AppBuilder.Configure<App>()
    .UseSimdSkiaDesktop()
    .StartWithClassicDesktopLifetime(args);

Windows uses its current message font; Linux/macOS discover supported installed static TrueType families. Explicit options.FontFiles.Add(path) overrides automatic selection. Parsing, shaping, glyph coverage and codecs remain C#. Chinese text needs a supported installed Chinese font. Complex shaping, CFF/variable/color fonts and hinting have gaps.

Startup preparation is enabled by default. To disable it for diagnosis, use .UseSimdSkiaDesktop(options => options.EnableStartupPreparation = false). It does not hide the window or add a placeholder frame. Keep all directly referenced SimdSkia packages on version 0.1.3 and all Avalonia packages on 12.1.5.

The base adapter provides rendering/font services. The Desktop package supplies OS host selection without Skia/HarfBuzz/ANGLE packages. macOS uses the official MIT libAvaloniaNative window bridge, an explicit window-host exception; application drawing/fonts are managed. The optional GPU adapter defaults Direct2D to a native Windows swapchain; Vulkan currently waits for completion and reads back to the OS framebuffer. The Metal core is unverified and is not wired into Avalonia presentation. GPU glyphs normally use a managed atlas, and CPU layers/fallbacks are reported. See the complete quick start.

SimdSkia and SimdSkia.Compatibility expose only the implemented SK* subset. Do not reference them together with the original SkiaSharp types in the same compilation. Avalonia users normally need only the adapter, not the SK* facade.

MIT licensed. Third-party components retain their own licenses and notices, included in the relevant packages. See the repository's validation and remaining gaps.

Standalone SkiaSharp namespace usage

dotnet add package SimdSkia --version 0.1.3
using SkiaSharp;
using var bitmap = new SKBitmap(160, 100);
using var canvas = new SKCanvas(bitmap);
canvas.Clear(SKColors.White);
using var paint = new SKPaint { Color = SKColors.Blue };
canvas.DrawRect(10, 10, 80, 50, paint);
if (bitmap.GetPixel(20, 20) != SKColors.Blue)
    throw new Exception("Pixel validation failed.");
using var png = bitmap.Encode(SKEncodedImageFormat.Png, 100);
using var file = File.Create("rectangle.png");
png.SaveTo(file);

The facade targets the documented SkiaSharp 3.119.4 subset. The five native contracts remain missing, and rendering/behavior parity is incomplete. Dispose GPU resources explicitly on their creating thread; GC finalization equivalence is not established.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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.3 0 11/7/2026
0.1.2 0 11/7/2026
0.1.2-preview.3 0 11/6/2026
0.1.1 75 11/4/2026
0.1.0 76 11/4/2026
0.1.0-preview.10 58 11/1/2026
0.1.0-preview.9 69 10/27/2026
0.1.0-preview.8 65 10/27/2026
0.1.0-preview.7 67 10/26/2026
0.1.0-preview.6 65 10/22/2026
0.1.0-preview.5 75 10/22/2026
0.1.0-preview.4 74 10/21/2026
0.1.0-preview.3 67 10/21/2026
0.1.0-preview.2 70 10/21/2026
0.1.0-preview.1 76 10/21/2026

0.1.3正式版:桌面默认GPU优先(Windows Direct2D、Linux Vulkan,诊断后回退CPU;macOS窗口仍CPU);UseCpu可显式保留CPU。Direct2D完成事件、两帧队列、flip呈现、原生状态缓存及跨帧CPU回退像素同步修复。文字缓存共享轮廓计费/不可变遮罩/LRU、重复内容复用;动态中文自身GPU耗时下降81%–93%,分配降至约168–169B/帧。Vulkan有序小面积纯色矩形合批及边数据缓存优化。Avalonia>=12.1.0且<13.0.0,发布矩阵12.1.0–12.1.5;固定3230/3235 API、5个原生合同缺口。小混合仍慢约39%,JPEG/文字/曲线/整页画质及内存仍有差距,Metal未实机;旧滚动异常同一0.1.2未重现,根因未知,不宣称整体同画质持平。依赖保持Sdcb.SimdCodecs1.4.0、Clipper2 2.0.0、PdfPig0.1.16。完整更新和性能记录见CHANGELOG.md与README.md。