3

我刚开始查看适用于 iOS 的 Open GL ES,并且正在查看 Apple 模板代码上的源代码。问题是两者

- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect

- (void)update

正在被调用,但我无法确定通过什么以及如何更改频率?

4

1 回答 1

3

当需要更新视图时会自动调用 glkView。

根据Apple的说法, “GLKView 对象使用 UIView 对象的常规视图绘制周期,每当需要更新视图的内容时调用它的 drawRect: 方法。”

您可以使用 GLKViewController 来设置 glkview 的帧速率,如下所示:

- (void)viewDidLoad
{
     self.preferredFramesPerSecond = 60;
}

在渲染之前还会自动为您调用更新。您可以使用此调用来更新变量,例如绘制对象的位置 - 但您可能希望使用 timeSinceLastUpdate 属性,因为调用之间经过的时间可能会有所不同。

于 2012-11-28T14:44:25.013 回答