Version 1.68.0
Major Skia engine upgrade · Released December 4, 2018 · NuGet · GitHub Release
Highlights
This release upgrades SkiaSharp to Skia milestone 68, bringing a completely rewritten GPU surface creation pipeline, significant text API improvements, and major file I/O performance gains. The GPU backend changes modernize hardware-accelerated rendering across all platforms, while new SKTextBlob support lays the groundwork for advanced text layout. Linux users gain first-class NuGet packaging, and Windows Classic apps no longer require a separate Visual C++ Runtime install.
Breaking Changes
GPU Surface Creation
GRBackendRenderTargetDescdeprecated — Replaced byGRBackendRenderTarget. The new type provides a cleaner, more explicit API for describing render targets. See the GPU migration guide for details.GRBackendTextureDescdeprecated — Replaced byGRBackendTexture. Update all GPU texture creation code to use the new type.SKPaintGLSurfaceEventArgsupdated — Event args now surface the new GPU types. Existing handlers should migrate to the new properties.
Color & Pixel Formats
- 8-bit indexed color type (
Index8) removed — Skia m68 dropped support for indexed color. Convert indexed images to a full-color type (Rgba8888,Bgra8888, etc.) before use. SKColorTableremoved — Color tables are no longer supported. Any code referencingSKColorTablemust be updated to use direct pixel formats.
Surface Properties
SKSurfacePropsstruct superseded — Use the newSKSurfacePropertiesclass instead. The class provides the same functionality with a richer API.
Views & Event Handling
- macOS/iOS/tvOS delegates deprecated — Use events or override
OnPaintSurfaceinstead. - Android renderer usage deprecated — Use events or override
OnPaintSurfaceinstead.
New Features
Engine
- Skia m68 upgrade — Brings all upstream Skia improvements, optimizations, and bug fixes from milestone 68.
- Major file I/O performance improvements — Decoding, encoding, and processing operations are significantly faster.
GPU & Rendering
- Rewritten hardware-accelerated surface creation — The entire GPU pipeline has been modernized with
GRBackendRenderTargetandGRBackendTexture, providing better device compatibility and clearer semantics. See the GPU migration guide. - UWP GPU view rewritten — The hardware-accelerated view now supports more devices and includes multiple bug fixes.
- Pixel scaling —
SKPixmap,SKImage, andSKBitmapall supportScalePixelsfor high-quality image resizing.
Text
SKTextBlobandSKTextBlobBuilder— First-class text blob support, enabling efficient batched text rendering and laying the foundation for advanced text layout.- Expanded
SKPainttext API — New methods:BreakText,GetGlyphs,CountGlyphs,ContainsGlyphs,GetGlyphWidths,GetTextIntercepts,GetPositionedTextIntercepts,GetHorizontalTextIntercepts. - Expanded
SKTypefacetext API — New methods:GetGlyphs,CountGlyphs.
Fonts
SKFontManagerenhancements — Load entire font family sets viaSKFontStyleSetand match characters more precisely.
Images & Documents
- Easier
SKImagecreation — New overloads simplify image decoding and creation from various sources. SKDocumentPdfMetadata— New creation options for PDF document metadata (title, author, subject, etc.).
Platform
- Linux NuGet package — New
SkiaSharp.NativeAssets.Linuxpackage ships pre-built Ubuntu 16.04 amd64 binaries, with support for most Debian-based distributions. (#312) - Static VC++ Runtime on Windows — The Visual C++ Runtime is now statically linked on Windows Classic, eliminating the need for a separate runtime installer.
- Android
SKGLViewtransparency — The Xamarin.FormsSKGLViewon Android is now a transparent view.
API Surface
- New method overloads — Additional convenience overloads for surfaces, shaders, and effects across the API.
- Preferred
OnPaintSurfacepattern — All views now preferOnPaintSurfaceas the primary override point for drawing.
Bug Fixes
- Multiple bug fixes across the core library and platform views.
- UWP hardware-accelerated view stability and device compatibility improvements.
Links
Preview 28 (November 14, 2018)
Release candidate build containing all features and fixes that shipped in the stable 1.68.0 release.