7 October 2026 · 8 min read
Game Asset Optimization: Draw Calls and Textures
Pretty assets that make the game stutter are not finished assets. Optimization is the part of 3D art that decides whether your game runs at 60 FPS on a three-year-old phone.

What are we actually optimizing?
A game has a fixed time budget for each frame. At 60 FPS that is about 16.6 milliseconds. Every asset on screen spends part of that budget on the CPU and the GPU. Optimization means getting the look you want for the smallest cost. The main costs are below.
1. Triangle (polygon) count
More triangles means more vertices to process. On modern hardware raw triangle count is rarely the first bottleneck, but on mobile and for large crowds it still matters. Spend triangles on silhouette, not on flat surfaces (see topology). For starting numbers read polycount budgets.
2. Draw calls
A draw call is a request from the CPU to the GPU to draw something. Each different material or mesh usually costs one. Hundreds of tiny objects with their own materials can be slower than one heavier object. You reduce draw calls by:
- sharing materials between objects,
- combining meshes that always appear together,
- using a texture atlas so many objects can share one material,
- using instancing for repeated objects such as trees or crates.
3. Texture memory
Textures often take more memory than meshes. A 2048×2048 texture uncompressed takes about 16 MB; with a GPU compression format such as ASTC (mobile) or BC7 (desktop) it takes a fraction of that. Mipmaps add roughly a third more. Practical rules:
- Use the smallest resolution that still looks good at the size the object appears on screen (see texel density).
- Use power-of-two sizes and compressed formats.
- Pack grayscale maps into the channels of one texture (for example AO, roughness and metallic in R, G and B).
- Do not use a 4K texture on a small prop.
4. Overdraw and transparency
Transparent layers, such as foliage cards, particles and glass, force the GPU to shade the same pixel many times. Keep transparent surfaces few and tight-fitting, and cut the card shape to the leaf silhouette instead of leaving large empty areas.
5. Level of detail (LOD)
Objects far from the camera do not need full detail. LODs swap in lighter versions as distance grows. See LODs explained.
6. Skinned meshes and bones
Animated characters cost more than static meshes. Keep bone counts reasonable and limit how many bones can influence a vertex (many mobile setups use four).
Measure, do not guess
Use the profiler. Unity's Profiler and Frame Debugger and Unreal's stat commands show whether you are limited by the CPU, the GPU, memory or draw calls. Optimizing the wrong thing wastes time.
Optimize early, not at the end
Set budgets before production starts, build to them from the first asset and test in-engine often. It is much cheaper than rebuilding 200 assets in the last week. Our game-ready asset checklist includes the key budget checks, and our match-3 and casual art is built with mobile limits in mind.


