Skip to content

Reduce animation frame rate on low-end devices or when battery saver enabled #252

@RUKAYAT-CODER

Description

@RUKAYAT-CODER

Background

Animations run at 60fps unconditionally. On low-end devices or battery saver mode, reduce to 30fps to save battery and improve perceived smoothness (30fps is often smoother than 60fps on bad hardware).

Description

Reduce animation frame rate on low-end devices or when battery saver is enabled.

Current Behavior

60fps animations regardless of device or battery status

Expected Behavior

30fps animations on low-end or battery saver mode

Impact

🔋 Longer battery life on low-end devices
✨ Better perceived performance on weak hardware
💨 Reduced CPU usage

Acceptance Criteria

  • Detect low-end device (Device.modelName or memory)
  • Detect battery saver mode (expo-device API)
  • Reduce animation frame rate to 30fps for these cases
  • Test on iPhone SE (1st gen) and Android budget devices
  • Verify animations still look smooth at 30fps
  • Measure battery life improvement
  • Document device classification criteria

Implementation Hints

Use expo-device to detect. Set LayoutAnimation fps or use reanimated with adapted frame rate.

Performance Metrics

Before:

  • batteryLife: 4 hours (low-end, heavy animations)

After (Target):

  • batteryLife: 6+ hours (+50%)

Related Issues

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions