C# 有没有高性能贴图/叠加的方式或者库?
最近在搞一个动画软件,就是会添加一些图片素材,每个素材可以看作是单独的图层,最后会合成一张图片。合成的时候会涉及到缩放、旋转、透明度这些操作,目前是用Graphics实现的,不说复杂操作,就是单张素材固定大小不做任何变化直接贴图,如果图片尺寸大点都比较慢。
现在主要是卡在即时预览这个功能上,想了一些优化方法,比如缓存、剪辑区等尽量避免非必要的绘制,但是素材和镜头的关键帧过渡动画是躲不开的,基本上每一帧都需要重绘同一个区域的所有图层。假如动画是30帧每秒,那么每帧最多最多只有33毫秒的处理时间,感觉普通的方式非常难啊。
所以现在就想问一下C# 中有没有高性能的贴图合成方式或者第三方库来替代掉Graphics 或者是其它方式来实现即时预览。我个人目前在了解openCv和openGL 也许是刚开始了解吧 总感觉这两个是做那种高大上的图像处理的,比如计算机视觉或3D图像那些
Graphics 提供了 openGL 的几乎所有功能 openCv 是c++ 库,运行速度很快快,但对于你的应用是大材小用了
绘制图片素材的瓶颈是素材的加载(有可能的话应预先缓存)任何事情都是做了才知道,冥想是解决不了任何问题的
目前发现一个不错的库 skiasharp 测试性能还不错