---
title: Core Animation
framework: Core Animation
role: collection
role_heading: Framework
platforms: [iOS 2.0+, iPadOS 2.0+, Mac Catalyst 13.1+, macOS 10.3+, tvOS 9.0+, visionOS 1.0+, watchOS 11.0+]
path: quartzcore
---

# Core Animation

Render, compose, and animate visual elements.

## Overview

Overview Core Animation provides high frame rates and smooth animations without burdening the CPU or slowing down your app. Core Animation does most of the work of drawing each frame of an animation for you. You’re responsible for configuring the animation parameters, such as the start and end points, and Core Animation does the rest. It accelerates the rendering by handing over most of the work to dedicated graphics hardware. For more details, see Core Animation Programming Guide.

## Topics

### Layer Basics

- [CALayer](quartzcore/calayer.md)
- [CALayerDelegate](quartzcore/calayerdelegate.md)
- [CAConstraint](quartzcore/caconstraint.md)
- [CALayoutManager](quartzcore/calayoutmanager.md)
- [CAConstraintLayoutManager](quartzcore/caconstraintlayoutmanager.md)
- [CAAction](quartzcore/caaction.md)

### Text, Shapes, and Gradients

- [CATextLayer](quartzcore/catextlayer.md)
- [CAShapeLayer](quartzcore/cashapelayer.md)
- [CAGradientLayer](quartzcore/cagradientlayer.md)

### Animation

- [CAAnimation](quartzcore/caanimation.md)
- [CAAnimationDelegate](quartzcore/caanimationdelegate.md)
- [CAPropertyAnimation](quartzcore/capropertyanimation.md)
- [CABasicAnimation](quartzcore/cabasicanimation.md)
- [CAKeyframeAnimation](quartzcore/cakeyframeanimation.md)
- [CASpringAnimation](quartzcore/caspringanimation.md)
- [CATransition](quartzcore/catransition.md)
- [CAValueFunction](quartzcore/cavaluefunction.md)

### Animation Groups

- [CAAnimationGroup](quartzcore/caanimationgroup.md)
- [CATransaction](quartzcore/catransaction.md)

### Animation Timing

- [CACurrentMediaTime()](quartzcore/cacurrentmediatime().md)
- [CAMediaTimingFunction](quartzcore/camediatimingfunction.md)
- [CAMediaTiming](quartzcore/camediatiming.md)
- [CADisplayLink](quartzcore/cadisplaylink.md)
- [CAMetalDisplayLink](quartzcore/cametaldisplaylink.md)
- [CAMetalDisplayLink.Update](quartzcore/cametaldisplaylink/update.md)
- [CAMetalDisplayLinkDelegate](quartzcore/cametaldisplaylinkdelegate.md)

### Particle Systems

- [CAEmitterLayer](quartzcore/caemitterlayer.md)
- [CAEmitterCell](quartzcore/caemittercell.md)

### Advanced Layer Options

- [CAScrollLayer](quartzcore/cascrolllayer.md)
- [CATiledLayer](quartzcore/catiledlayer.md)
- [CATransformLayer](quartzcore/catransformlayer.md)
- [CAReplicatorLayer](quartzcore/careplicatorlayer.md)

### Metal and OpenGL

- [CAMetalLayer](quartzcore/cametallayer.md)
- [CAMetalDrawable](quartzcore/cametaldrawable.md)
- [CAEAGLLayer](quartzcore/caeagllayer.md)
- [CAEDRMetadata](quartzcore/caedrmetadata.md)
- [CAOpenGLLayer](quartzcore/caopengllayer.md)
- [CARenderer](quartzcore/carenderer.md)

### ProMotion

- [Optimizing iPhone and iPad apps to support ProMotion displays](quartzcore/optimizing-iphone-and-ipad-apps-to-support-promotion-displays.md)

### Remote Display of Layer Content

- [CARemoteLayerClient](quartzcore/caremotelayerclient.md)
- [CARemoteLayerServer](quartzcore/caremotelayerserver.md)

### Transforms

- [Transforms](quartzcore/transforms.md)

### Quartz Composer

- [QCCompositionLayer](quartz/qccompositionlayer.md)

### Reference

- [Core Animation Structures](quartzcore/core-animation-structures.md)
- [Core Animation Constants](quartzcore/core-animation-constants.md)
- [QuartzCore Functions](quartzcore/quartzcore-functions.md)
- [Core Animation Data Types](quartzcore/core-animation-data-types.md)

## See Also

### Related Documentation

- [Core Animation Programming Guide](apple-archive/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction.md)
