DrawCallAnalyzer

Skava in Modeling


DrawCallAnalyzer — See Your Scene the Way the Game Engine Sees It

Per-submesh draw call counts, batching candidates, GPU instancing detection, texture VRAM and overdraw heatmap — before you hit Export.


Why DrawCallAnalyzer

Most Blender-to-engine workflows discover the performance problem after the asset is already in Unity / Unreal / Godot — at which point you're inside the game engine's profiler, hunting through prefab settings, and not in Blender where the fix actually lives.

DrawCallAnalyzer scores your Blender scene with the same accounting rule the engines use: one draw call per used material_index per renderable mesh, GPU-instanced linked duplicates collapse, hidden objects don't count. So you can fix overdraw, atlas materials, and merge static batches before the export round-trip.


Features

Engine-accurate draw call counting

  • One DC per used material_index, not per material_slot
  • Skinned meshes detected via Armature modifier — excluded from static-batch eligibility
  • Linked duplicates collapsed correctly for GPU instancing
  • hide_render and collection-level hide_render are respected

Batching analysis

  • Static batching candidates (Unity 64k-vert combined-mesh rule)
  • Dynamic batching candidates (Unity 300-vert threshold)
  • GPU instancing groups with per-material counts
  • Material atlas suggestions — same-shader + same-format texture groups

LOD chain detection

  • Auto-detects _LOD0 / _LOD1 / _LOD2 naming (case-insensitive)
  • Per-base breakdown table: vertex / DC reduction across levels
  • Warnings: misordered LODs (LOD1 has more verts than LOD0), weak reduction (<10% saving)
  • "Active LOD level" selector — score only the runtime LOD, not the sum

Texture memory (VRAM)

  • One compression format per platform: DXT5 on Desktop, ASTC 4×4 on Mobile, BC7 on Console, plus a third for mipmaps
  • Per-texture breakdown sorted by size
  • Budget warnings per platform

Overdraw heatmap

  • 16×16×16 spatial-hash AABB-overlap
  • Camera-aware projection when a scene camera is set
  • Green / yellow / red color tint applied to viewport object color
  • One-click restore to original colors

One-click platform presets

  • Mobile — 200 DC budget, 256 MB VRAM, 65k vert hard limit
  • Console — 3000 DC, 1 GB VRAM
  • Desktop — 5000 DC, 2 GB VRAM

CSV / JSON report export

Structured dump with all stats: summary, per-material, instance groups, suggestions. Drop into code review, pin to PR, or diff against the previous run.

Snapshot & Compare

Save the current analysis as a baseline. Change the scene (atlas textures, merge meshes, enable instancing). Click Compare — see the delta.


Compatibility

  • Blender: 4.2 LTS and later (tested on 4.2.9 and 5.2.0)
  • OS: Windows / macOS / Linux — pure Blender Python, no DLL
  • Heuristics tuned for: Unity (URP / HDRP / Built-in), Unreal Engine 4 / 5, Godot 4

What you get

  • DrawCallAnalyzer add-on (Python only, no DLL)
  • README with full quick-start guide
  • Free updates for v1.x
  • Support through marketplace messaging

Install

Edit → Preferences → Add-ons → arrow button in the top right corner → Install from Disk → pick the add-on zip → enable. The DrawCalls sidebar tab appears in the 3D Viewport (press N).


License

GPL-3.0. Standard for Blender add-ons.


$9.99

Have questions about this product?
Login to message

Details
Published 5 months ago
Blender Version 3.1 - 5.1
Extension Type N/A
Render Engine Used Arnold, Blender-Internal, Blender-Game-Engine, Cycles, Eevee, Freestyle, Luxrender, Mental-Ray, Octane, Vray, Yafaray
License GPL