На рабочем компьютере модель крутится плавно, а у покупателя на телефоне грузится минуту и дёргается. Причина почти всегда в одном из трёх мест.
Три причины
- Тяжёлый файл — долго скачивается по мобильному интернету.
- Не хватает памяти видеокарты — модель не помещается в память телефона, браузер тормозит или перезагружает страницу.
- Слишком много вызовов отрисовки — видеокарта получает сотни мелких заданий вместо нескольких крупных.
Текстуры: файл и память — разные вещи
JPEG и PNG компактны на диске, но видеокарта распаковывает их целиком. Текстура 4096×4096 занимает в памяти около 64 МБ, сколько бы ни весил файл. Формат KTX2 остаётся сжатым и в памяти видеокарты — поэтому для веба и AR текстуры переводят в него.
Каждое удвоение стороны текстуры — вчетверо больше памяти. Переход с 4096 на 2048 экономит три четверти. На экране телефона разницу между ними для большинства деталей не видно.
Геометрия
Плотная сетка — больше вершин, тяжелее файл и больше работы видеокарте. Невидимые детали убирают, сетку упрощают там, где это незаметно, а саму геометрию сжимают — Meshopt или Draco.
Draw calls
Каждая отдельная деталь со своим материалом — отдельное задание видеокарте, вызов отрисовки (draw call). Сотни таких заданий тормозят даже мощный телефон. Детали объединяют, материалы сводят к нескольким.
Как проверить
- Открыть модель на среднем телефоне, а не на флагмане.
- Посмотреть вес файла и время загрузки на мобильном интернете.
- Открыть модель в техническом просмотрщике вроде gltf.report: он показывает число треугольников, размер текстур и материалов.
Для сцен с множеством объектов есть ещё один приём — уровни детализации; о нём статья LOD.
Как это выглядит на практике
- Hilbert: AR работает с телефона, и дом нужно держать в памяти вместе с камерой и трекингом. Модели переведены на Meshopt и KTX2 — в памяти движка они занимают в три-четыре раза меньше исходных GLB.
- RP Grand: материалы сведены к трём — кузов, салон, стекло — ради минимума draw calls; полная сборка машины — около девяти тысяч треугольников.
- Getic: сжатие текстур под движок и облегчённая версия геометрии для мобильного трафика.
Частые ошибки
- Смотреть только на размер файла и не думать о памяти.
- Текстуры 4096 на каждую мелкую деталь.
- Сотни отдельных материалов.
- Проверять только на рабочем компьютере.
Чек-лист
- Вес файла.
- Размер текстур и формат KTX2.
- Геометрия: невидимое убрано, сжатие Meshopt или Draco.
- Материалов — несколько, а не сотни.
- Проверка на среднем телефоне.


