SkiaSharp和GPU加速 [英] SkiaSharp and GPU acceleration

查看:0
本文介绍了SkiaSharp和GPU加速的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在评估SkiaSharp库(来自Nuget,版本1.59.3)。一切都渲染得很好。但Skia似乎没有使用GPU来加速渲染。Windows 10任务管理器没有检测到我的测试应用程序使用了任何GPU。我正在使用Next命令创建SKCanvas:

 using (SKBitmap bitmap = new SKBitmap(gWidth, gHeight, SKColorType.Bgra8888, alphaType))
 using (SKCanvas canvas = new SKCanvas(bitmap))
 { ... }

GPU加速是否需要某种特殊方式来初始化SkiaSharp?

我已尝试下一步命令:

GRContext context = GRContext.Create(GRBackend.OpenGL);

但它返回NULL。

推荐答案

啊,图形处理器。

您需要处于现有的OpenGL/角度上下文中。

我正在执行以下操作: https://github.com/mono/SkiaSharp/blob/master/source/SkiaSharp.Views/SkiaSharp.Views.UWP/SKSwapChainPanel.cs

但是,在实际初始化SkiaSharp之前,我首先必须手动创建角度上下文: https://github.com/mono/SkiaSharp/blob/master/source/SkiaSharp.Views/SkiaSharp.Views.UWP/AngleSwapChainPanel.cs

这对于所有平台都是一样的,首先设置OpenGL/ANGLE上下文,然后当它是当前上下文时,启动SkiaSharp GRContext。

这也是我在单元测试中做的事情: https://github.com/mono/SkiaSharp/blob/master/tests/Tests/GlContexts/Wgl/WglContext.cs

如果您不是所有这些Setup-y代码的粉丝,那么这并不总是最好的代码,但是您可以使用其他库来完成所有的样板代码。只要存在有效的OpenGL/角度上下文,您就是好的。

这篇关于SkiaSharp和GPU加速的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆