---
title: "optimizeContents(forGPUAccess:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtl4computecommandencoder/optimizecontents(forgpuaccess:)"
---

# optimizeContents(forGPUAccess:)

Encodes a command that modifies the contents of a texture to improve the performance of GPU accesses to its contents.

## Declaration

```swift
func optimizeContents(forGPUAccess texture: any MTLTexture)
```

## Parameters

- `texture`: A doc://com.apple.metal/documentation/Metal/MTLTexture instance the command optimizes for GPU access.

## Discussion

Discussion Optimizing a texture for GPU access may affect the performance of CPU accesses, however, the data the CPU retrieves from the texture remains consistent. You typically run this command for: Textures the GPU accesses for an extended period of time. Textures with a storageMode property that’s MTLStorageMode.shared or MTLStorageMode.managed.

## See Also

### Encoding optimization commands

- [optimizeCommands(buffer:range:)](metal/mtl4computecommandencoder/optimizecommands(buffer:range:).md)
- [optimizeContents(forCPUAccess:)](metal/mtl4computecommandencoder/optimizecontents(forcpuaccess:).md)
- [optimizeContents(forCPUAccess:slice:level:)](metal/mtl4computecommandencoder/optimizecontents(forcpuaccess:slice:level:).md)
- [optimizeContents(forGPUAccess:slice:level:)](metal/mtl4computecommandencoder/optimizecontents(forgpuaccess:slice:level:).md)
