2
如果你看到我的other question,你就會知道我開始嘗試在Mac上製作簡單的2D遊戲。在那裏我決定使用哪個庫(OpenGL或Quartz),但不管我要用Cocoa來製作一個漂亮的Mac應用程序,還是用於窗口和視圖(使用OpenGL,NSOpenGLView)。顯然,對於一款遊戲來說,視圖必須每秒重繪多次。要重畫一個視圖,你需要做[view setNeedsDisplay:YES];
,但我讀過你不應該多次這樣做(因爲它花費很多)。但我應該如何重新繪製視圖,例如在一個合理的FPS爲2D遊戲?謝謝。Mac Dev - 如何刷新2d遊戲的視圖?
謝謝,我會檢查了這一點。 – mk12 2009-11-18 23:58:21
蘋果已經表示,你不應該寫你的循環爲「儘可能快」。你應該限制你的繪圖到60Hz等合理的東西;否則,你會浪費CPU時間無用功。如果你是vsync'd,這應該會自動發生。如果沒有,請在那裏放一個限速器。你的筆記本電腦用戶的圈子會感謝你。 – 2009-11-19 00:18:54
我只是假設讀者會知道vsync限制「儘可能快」中的「可能」。我應該更清楚。 – 2009-11-19 01:35:53