Canvas Performance Optimization
SkillMonitoring & opsUse when an isometric Canvas game drops frames, to cut draw calls and allocations and hold a steady 60fps.
Use Canvas Performance Optimization in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Canvas Performance Optimization and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Canvas Performance Optimization skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by 0xheycat/isometric-game-skills in skills/canvas-performance-optimization/SKILL.md and read by ahel’s review.
Overview
Isometric games die by a thousand draw calls. This skill profiles the frame, culls off-screen tiles, batches from the atlas, and removes per-frame allocations to hit a stable 60fps.
When to Use
- Frame rate drops or stutters.
- Large maps lag when panning.
- You suspect GC pauses or overdraw.
Process
- Profile first - measure where the frame time actually goes.
- Cull: only draw tiles/objects inside the viewport.
- Batch draws from one atlas to minimize texture binds.
- Cache static layers (ground) to an offscreen canvas; redraw only when it changes.
- Eliminate per-frame allocations (reuse arrays/objects).
- Avoid sub-pixel blits; snap to integer pixels.
- Re-profile to confirm the fix, do not assume.
Profile -> Cull -> Batch -> Cache static layer -> Kill allocations -> Re-profile
Rationalizations (Stop Lying to Yourself)
| Excuse | Reality |
|---|---|
| "I know what is slow without profiling" | Guessing wastes hours on the wrong thing. Profile first. |
| "Redrawing the ground every frame is fine" | Static ground should be cached. Redraw only on change. |
Red Flags - STOP if you catch yourself:
- Optimizing before profiling.
- Redrawing static layers every frame.
- Allocating inside the render loop.
Verification
You are NOT done until every box is checked:
- Frame time was profiled before and after.
- Off-screen content is culled and static layers cached.
- No allocations occur inside the render loop; 60fps holds.
Signals
- GitHub stars
- 25
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
canvas-performance-optimization- Source
- github.com/0xheycat/isometric-game-skills
github.com/0xheycat/isometric-game-skills
Related picks
Skill · anthropics
The pick for Canvasinternal-comms
Skill · anthropics
More in Monitoring & opsagent-eval
Skill · affaan-m
More in Monitoring & opsdashboard-builder
Skill · affaan-m
More in Monitoring & opsbabysit
Skill · thedotmack
More in Monitoring & opseng-runbook
Skill · nexu-io
More in Monitoring & ops