---
title: MTLStorageMode.managed
framework: metal
role: symbol
role_heading: Case
path: metal/mtlstoragemode/managed
---

# MTLStorageMode.managed

The CPU and GPU may maintain separate copies of the resource, and any changes need to be explicitly synchronized.

## Declaration

```swift
case managed
```

## Mentioned in

Synchronizing a managed resource in macOS Optimizing texture data Adjusting for GPU memory bandwidth tradeoffs Choosing a resource storage mode for Intel and AMD GPUs Improving CPU performance by using argument buffers Setting resource storage modes

## Discussion

Discussion On Intel-based Mac computers, this is the default storage mode for MTLTexture objects. In iOS and tvOS, the managed storage mode isn’t available. With managed storage, you synchronize changes between the CPU and GPU manually. For instructions and examples of resource synchronization, see Synchronizing a managed resource in macOS. For more guidance on how to choose storage modes, see Setting resource storage modes.

## See Also

### Storage mode options

- [MTLStorageMode.shared](metal/mtlstoragemode/shared.md)
- [MTLStorageMode.private](metal/mtlstoragemode/private.md)
- [MTLStorageMode.memoryless](metal/mtlstoragemode/memoryless.md)
