2012-02-24 39 views
1

我有一個透明的窗口,想在其中進行2D繪圖。我正在考慮兩個方案:在透明的NSWindow上進行2D繪圖

  1. 石英2D
  2. 的OpenGL

正如我與石英2D毫無經驗可言,我想知道:將它給我更好的性能?我的場景由線條,圓圈和正方形組成。

回答

2

這取決於如果你的場景是動態的,我會使用openGL,它會有更好的性能。就編寫代碼而言,使用Quartz 2D會更容易。但是如果你需要花費很多時間刷新你的窗戶,那會花費你。

另一種選擇是使用CALayer。實際上,這些圖層使用openGL進行渲染的速度更快。因此,您可以使用Quartz 2D(CAShapeLayer)繪製內部圖像,然後操作該圖層以動態更改場景。請記住,如果你升級你的圖層,你會產生文物。所以,使用這個技術會給你一個最大圖層大小。

我希望我已經清楚和有幫助。

+0

您已經清楚和有幫助,謝謝。我的應用程序非常有活力,過去我已經在openGL中編寫了它,它給了我足夠的結果(300-500fps),但有人告訴我Quartz可能是一個更好的主意,我想了解更多。 – Fatso 2012-02-24 09:51:05

+1

另一個適合你的適應症。我正在使用石英繪製帶有黑色漸變背景的漸變邊框。在iPad上縮放比較滯後...... – Ganzolo 2012-02-24 09:53:15