# makepad-2.0-performance

A skill for tuning and debugging Makepad 2.0: draw batching, Splash VM garbage collection and texture caching explained.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 751
- Author: ZhangHanDong
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/ZhangHanDong/makepad-skills/tree/HEAD/skills/makepad-2.0-performance/SKILL.md
- Updated: 2026-04-07
- HTML: https://affpapa.org/en/nevibecode/skills/makepad-20-performance

## What it does

The skill walks through the three subsystems that decide how fast a Makepad 2.0 app runs: batching of draw calls, the mark-and-sweep collector inside the Splash VM, and the `on_render` / `.render()` triggers that control subtree rebuilds. Tables inside spell out when `new_batch: true` is needed and why label text can vanish behind a background.

Separate sections cover `texture_caching: true` plus the ready-made `CachedView` and `CachedRoundedView` widgets. The skill lists which views benefit from an offscreen texture and which ones only burn GPU memory — animated or live-updating panels are a poor fit.

The collector section describes isolated heaps for objects, arrays, strings, pods, handles and regexes. Installation drops a set of instructions into your agent; there is no binary to run.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-performance -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/makepad-2.0-performance/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/makepad-2.0-performance/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-performance -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/makepad-2.0-performance/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-performance -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/makepad-2.0-performance/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install ZhangHanDong/makepad-skills makepad-2.0-performance
```

2. **Manually: put the files in place**
- File: `.github/skills/makepad-2.0-performance/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-performance -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/ZhangHanDong/makepad-skills --path skills/makepad-2.0-performance
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/makepad-2.0-performance/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add ZhangHanDong/makepad-skills --skill makepad-2.0-performance -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/ZhangHanDong/makepad-skills/tree/HEAD/skills/makepad-2.0-performance/SKILL.md

## When to use it
- track down text hidden behind a background inside a nested View
- decide when `new_batch: true` is actually required
- stop a scrolling list from stuttering
- choose which panels deserve texture caching
- understand how garbage collection works in the Splash VM

## Example prompts
- The label inside my `RoundedView` is invisible — check whether `new_batch: true` is missing.
- My `PortalList` stutters while scrolling, help me find the cause.
- Should this sidebar use `texture_caching`?

## Similar
- [m10-performance](https://affpapa.org/en/nevibecode/skills/m10-performance.md) — skill · 3600 installs
- [high-perf-browser](https://affpapa.org/en/nevibecode/skills/high-perf-browser.md) — skill · 5300 installs
- [react-render-optimization](https://affpapa.org/en/nevibecode/skills/react-render-optimization.md) — skill · 1100 installs
- [nextjs-performance](https://affpapa.org/en/nevibecode/skills/nextjs-performance.md) — skill · 4900 installs
- [performance-lighthouse-runner](https://affpapa.org/en/nevibecode/skills/performance-lighthouse-runner.md) — skill · 632 installs
- [angular-performance](https://affpapa.org/en/nevibecode/skills/angular-performance.md) — skill · 350 installs

From the same set: [zhanghandong/makepad-skills](https://affpapa.org/en/nevibecode/by/zhanghandong/makepad-skills.md) — 6 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
