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