---
name: animation-performance-retro
description: Optimize 8-bit animations for smooth performance. Apply when creating animated pixel art, game UI effects, or any retro-styled animations.
---
## Animation Performance for Retro UI
Optimize animations for smooth pixel art rendering and game-like interfaces.
### Hardware Acceleration
Use CSS transforms for GPU-accelerated animations:
```tsx
```
**Avoid animating:**
- `width`, `height` (triggers layout)
- `margin`, `padding` (triggers layout)
- `top`, `left` (triggers layout)
**Prefer animating:**
- `transform` (GPU accelerated)
- `opacity` (GPU accelerated)
- `filter` (GPU accelerated)
### Pixelated Animations
Wrap animated SVGs in divs for hardware acceleration:
```tsx
function PixelSpinner() {
return (
);
}
```
### Loading States
Use pulse animations for retro loading indicators:
```tsx
function RetroSkeleton() {
return (
);
}
```
### Custom Retro Animations
Define pixel-art-specific animations:
```tsx
LEVEL UP!
```
### Conditional Animation States
Apply animations based on game state:
```tsx
```
### Radix UI Animations
Use Radix state-based animations for overlays:
```tsx
```
### Key Principles
1. **Wrap SVGs** - Always wrap in div for hardware acceleration
2. **Use transforms** - Prefer `transform` over `top`/`left`
3. **Step animations** - Use `step-end` for pixel-art feel
4. **Conditional classes** - Apply animations based on game state
5. **Custom keyframes** - Define retro-specific animations
6. **Text shadows** - White shadow for legibility on colored backgrounds
### Performance Checklist
- [ ] Animated elements wrapped in divs
- [ ] No layout-triggering properties animated
- [ ] Loading states use `animate-pulse`
- [ ] Conditional animations properly gated
- [ ] Custom animations use step timing functions
### Reference Components
- `components/ui/8bit/spinner.tsx` - Animated spinner
- `components/ui/8bit/xp-bar.tsx` - Custom blink animation
- `components/ui/8bit/skeleton.tsx` - Loading skeleton
- `components/ui/8bit/accordion.tsx` - Radix state animations