---
title: AVCaptionRenderer.Scene
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avcaptionrenderer/scene
---

# AVCaptionRenderer.Scene

An object that holds a time range and an associated state which indicates when the renderer draws output.

## Declaration

```swift
class Scene
```

## Overview

Overview To render a scene, the object considers state like the existence of captions and regions, their temporal overlaps, and whether captions use animation effects. Your app can request time ranges where visual differences exist and use these time ranges to optimize drawing performance, like drawing once per scene. Alternatively, it can ignore scenes, and instead call render(in:for:) repeatedly, but this may have additional performance impact.

## Topics

### Inspecting the scene

- [timeRange](avfoundation/avcaptionrenderer/scene/timerange.md)
- [hasActiveCaptions](avfoundation/avcaptionrenderer/scene/hasactivecaptions.md)
- [needsPeriodicRefresh](avfoundation/avcaptionrenderer/scene/needsperiodicrefresh.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Determining scene changes

- [captionSceneChanges(in:)](avfoundation/avcaptionrenderer/captionscenechanges(in:).md)
