<!--
{
  "availability" : [
    "iOS: 5.0.0 -",
    "iPadOS: 5.0.0 -",
    "tvOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "GLKit",
  "identifier" : "/documentation/GLKit/GLKViewControllerDelegate/glkViewControllerUpdate(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "GLKit"
    ],
    "preciseIdentifier" : "c:objc(pl)GLKViewControllerDelegate(im)glkViewControllerUpdate:"
  },
  "title" : "glkViewControllerUpdate(_:)"
}
-->

# glkViewControllerUpdate(_:)

Called before each frame is displayed.

```
func glkViewControllerUpdate(_ controller: GLKViewController)
```

## Parameters

`controller`

The controller that is about to display a new frame.

## Discussion

This method is used by your application if it wants to updates state information on each frame of animation. A typical implementation might read the controller’s [`timeSinceLastUpdate`](/documentation/GLKit/GLKViewController/timeSinceLastUpdate) property to determine how much time has actually passed, and use that time to calculate the positions for any objects to be rendered in the next frame.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)