2

我正在考虑使用 Mono.Cairo 作为轻量级 CAD 系统的基础。但不知道表现如何。CAD 系统会产生大量重绘,并且其中可能包含大量数据和大量文本。

如果不是开罗,那么欢迎任何其他建议。我希望该应用程序可以在 Windows、Mac 和 Linux 上运行。

4

1 回答 1

3

这实际上取决于使用情况,但 IMO 它是跨平台绘图 API 的最佳选择。

在实践中,人们确实在合理的性能敏感操作中使用 Cairo,没有问题。MonoDevelop 使用 Cairo 作为它的文本编辑器,而 Banshee 使用 Cairo 作为一堆自定义小部件,包括它的列表视图。我相信 GTK 工具包和 Moonlight 浏览器插件使用 Cairo 进行所有绘图。

理论上 Cairo 可以是硬件加速的,由 OpenGL 支持,虽然我不知道这个后端的当前状态。Cairo 的一个很好的优势是它有一个不错的 PDF 后端,这对于打印也很有用。

无论您使用什么来绘制,您都必须进行各种缓存和其他优化。例如,在 MonoDevelop 的文本编辑器中,我们缓存了可见的 Pango 文本布局,因为布局文本比实际渲染要昂贵得多。如果您对一些现有表面进行 blit 并仅重绘新暴露的区域,则滚动工作会更加顺畅。并且某些操作(例如梯度)比其他操作慢得多。

于 2010-10-22T23:03:03.860 回答