visgl / visgl/deck.gl

[Bug] deck.gl very power hungry when idle

Open
#9,084 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
14.6k
Forks
2.3k
Avg merge
2d 9h
Merged PRs (30d)
42

Description

Description

Power draw when idle (currently 50% CPU on a MacBook Pro / Safari for simple examples like https://deck.gl/examples/icon-layer) is very high.

Attached a screenshot of the Safari Timeline Power Usage for completely idle state on the Icon Layer Example page https://deck.gl/examples/icon-layer.

Screenshot 2024-07-23 at 19 04 33

Originally posted by @MrMorice in https://github.com/visgl/deck.gl/discussions/9041

Flavors
  • Script tag
  • React
  • Python/Jupyter notebook
  • MapboxOverlay
  • GoogleMapsOverlay
  • CartoLayer
  • ArcGIS
Expected Behavior

Power draw when map is idle should be around 2%.

Steps to Reproduce

Open https://deck.gl/examples/icon-layer in Safari on MacOS or iOS, then use timeline view to profile power usage.

Environment
  • Framework version: deck.gl@9.0.x
  • Browser: Safari, potentially others
  • OS: MacOS, iOS
Logs

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the https://deck.gl/examples/icon-layer example using the MapboxOverlay flavor and reproduce the idle power usage in Safari on macOS or iOS. Use Safari's Timeline Power Usage view to identify the source of the roughly 50% CPU activity, then verify that an idle map approaches the expected 2% power usage.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.