Skip to content

[BUG - Desktop] High iGPU load 50% or more during task execution. #31664

Closed as not planned

Description

@koloved

Description

The problem stems from two inefficient UI animations triggered during task execution ("working" status):

  • Progress Bar (session-progress-bar): The clip-path animation with rounding ( round 999px) requires Chromium to recalculate mask geometry and repaint layers every frame, leading to high GPU overhead.

  • Project Avatar Loader (project-avatar-v2-loader): The use of mix-blend-mode: soft-light for the spinning indicator prevents Chromium from using simple optimizations. It forces complex shader calculations for each frame across the entire tab panel and window title area.

Minimizing the window stops these processes (suspending requestAnimationFrame and CSS repainting), reducing load to 0%. When the window is active, both animations drive high GPU usage.

Image

Plugins

I don't have any plugins.

OpenCode version

1.16.2 Desktop version

Steps to reproduce

Open the application and set the task to execute. Click the execute task button.

Screenshot and/or share link

Apparently, animations cause a high load.

Operating System

Windows 11

Hardware intel igpu 770, intel 14600

No response

Activity

  1. added
    needs:complianceThis means the issue will auto-close after 2 hours.
    and removed
    needs:complianceThis means the issue will auto-close after 2 hours.
    on Jun 10, 2026
  2. github-actions commented on Jun 10, 2026

    @github-actions
    Contributor

    Thank you for updating the issue! It now meets our contributing guidelines. We appreciate the detailed description, steps to reproduce, and the hardware/system information. We'll look into the high iGPU load caused by the UI animations.

  3. brandon-julio-t commented on Aug 6, 2026

    @brandon-julio-t
    Contributor

    Confirmed on macOS (M1 Pro, 16GB): forcing prefers-reduced-motion: reduce drops GPU usage to near-zero immediately.

    Repro: OpenCode Desktop with active sessions → DevTools → Rendering tab → "Emulate CSS media feature prefers-reduced-motion: reduce".

    Before/after (btop + Activity Monitor, same sessions running):

    • GPU total: 61% → 5%, instantly after toggling
    • OpenCode Helper CPU: 36.7% → 9.9%
    • OpenCode Helper GPU (Activity Monitor): ~13% while working

    This confirms the animations described in this issue account for essentially the entire GPU cost, and that the mitigation already works behind the prefers-reduced-motion media query — it just needs a persistent setting (or honoring the OS-level Reduce Motion, which the DevTools emulation proves works).

    Baseline (Activity Monitor, OpenCode Helper at 13.3% GPU):

    Activity Monitor baseline

    Before (btop, GPU 61%, OpenCode Helper 36.7% CPU):

    btop before

    DevTools setting applied:

    DevTools Rendering prefers-reduced-motion

    After (btop, GPU 5%, OpenCode Helper ~10% CPU):

    btop after
  4. opp4s commented on Sep 4, 2026

    @opp4s

    Reproduced on macOS — v1.18.28

    Same issue confirmed on macOS (Apple Silicon, 8GB RAM).

    Process breakdown (idle state, no tasks running):

    Process CPU RAM
    GPU Process 20-27% 1.2GB
    Renderer 23-34% 3.4GB
    Node Service 64% 4.5GB
    Total 113%+ —

    Key observations:

    1. GPU Process runs at 20-27% CPU even when completely idle — no tasks executing, no animations visible
    2. After restart, the GPU process immediately jumps to 25%+ and stays there
    3. Attempted all standard Electron GPU flags (--disable-gpu, --disable-gpu-compositing, --use-gl=swiftshader, env vars) — none are respected by the app
    4. The electron-flags.conf file in the app support directory is ignored
    5. Updating from v1.18.16 to v1.18.28 did not fix the issue
    6. Renicing the GPU process to +15 has no effect on actual CPU consumption

    Impact:

    • Battery drains rapidly (~30% faster than normal)
    • System memory pressure increases (swap activity)
    • WindowServer elevated due to constant GPU repaint requests

    Environment:

    • macOS (Apple Silicon)
    • 8GB RAM
    • OpenCode v1.18.28
    • Electron 42.3.3

    This issue persists across restarts and version updates. The GPU process appears to be in a continuous rendering loop even when the UI is idle.

  5. thdxr commented on Oct 11, 2026

    @thdxr
    Member

    Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.

    — from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions