<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLDrawable",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:objc(pl)MTLDrawable"
  },
  "title" : "MTLDrawable"
}
-->

# MTLDrawable

A displayable resource that can be rendered or written to.

```
protocol MTLDrawable : NSObjectProtocol
```

## Overview

Objects that implement this protocol are connected both to the Metal framework and an underlying display system (such as Core Animation) that’s capable of showing content onscreen. You use drawable objects when you want to render images using Metal and present them onscreen.

Don’t implement this protocol yourself; instead, see <doc://com.apple.documentation/documentation/QuartzCore/CAMetalLayer>, for a class that can create and manage drawable objects for you.

## Topics

### Identifying the drawable

[`drawableID`](/documentation/Metal/MTLDrawable/drawableID)

A positive integer that identifies the drawable.

### Presenting the drawable

[`present()`](/documentation/Metal/MTLDrawable/present())

Presents the drawable onscreen as soon as possible.

[`present(afterMinimumDuration:)`](/documentation/Metal/MTLDrawable/present(afterMinimumDuration:))

Presents the drawable onscreen as soon as possible after a previous drawable is visible for the specified duration.

[`present(at:)`](/documentation/Metal/MTLDrawable/present(at:))

Presents the drawable onscreen at a specific host time.

### Getting presentation information

[`addPresentedHandler(_:)`](/documentation/Metal/MTLDrawable/addPresentedHandler(_:))

Registers a block of code to be called immediately after the drawable is presented.

[`presentedTime`](/documentation/Metal/MTLDrawable/presentedTime)

The host time, in seconds, when the drawable was displayed onscreen.



---

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)