我在考虑使用Mono.Cairo作为轻量级CAD系统的基础。 但不确定表现如何。 CAD系统产生了很多 重绘并且可以包含很多数据,包含大量文本。
如果不是开罗,那么欢迎任何其他建议。 我希望该应用程序可以在Windows,Mac和Linux上运行。
答案 0 :(得分:3)
这实际上取决于使用情况,但IMO是跨平台绘图API的最佳选择。
在实践中,人们确实在合理的性能敏感操作中使用Cairo而没有问题。 MonoDevelop使用Cairo作为其文本编辑器,Banshee使用Cairo作为一系列自定义小部件,包括其列表视图。我相信GTK工具包和Moonlight浏览器插件使用Cairo来所有他们的绘图。
理论上Cairo可以是硬件加速的,由OpenGL支持,但我不知道这个后端的当前状态。开罗的一个很好的优势是它有一个不错的PDF后端,这对打印也很有用。
无论您使用什么绘制,您都必须进行各种缓存和其他优化。例如,在MonoDevelop的文本编辑器中,我们缓存可见的Pango文本布局,因为布局文本比实际渲染文本要昂贵得多。如果您对某些现有曲面进行blit并仅重绘新曝光的区域,则滚动工作会更加顺畅。而某些操作(例如渐变)比其他操作慢得多。