2010-10-22 38 views
2

我正在考慮使用Mono.Cairo作爲輕量級CAD系統的基礎。 但不知道表現如何。 CAD系統會產生大量的重繪,並且可能會有大量的文本。Mono.Cairo性能如何?

如果不是開羅,那麼歡迎任何其他建議。 我希望應用能夠在Windows,Mac和Linux上運行。

回答

3

這實際上取決於使用情況,但IMO是跨平臺繪圖API的最佳選擇。

實際上,人們確實在開發合理的性能敏感操作時沒有問題。 MonoDevelop使用Cairo作爲文本編輯器,Banshee使用Cairo來處理一些自定義小部件,包括列表視圖。我相信GTK工具包和Moonlight瀏覽器插件使用開羅全部他們的圖紙。

理論上開羅可以硬件加速,由OpenGL支持,但我不知道這個後端的當前狀態。開羅的一個很好的優點是它有一個體面的PDF後端,這對打印也很有用。

不管你用什麼畫,你都必須做各種緩存和其他優化。例如,在MonoDevelop的文本編輯器中,我們緩存可見的Pango文本佈局,因爲佈局文本比實際渲染文本要昂貴得多。如果您將現有曲面的某些部分覆蓋並僅重新繪製新的曝光區域,則滾動效果會更加順暢。而一些操作(如漸變)比其他操作要慢得多。