Для гри ваша основна мета - досягти цільової рамки на цільовій мінімальній технічній техніці (і, можливо, максимальний час завантаження тощо).
Щоб це зробити, ні, вам не доведеться хвилюватися після кожного рядка.
Вам доведеться хвилюватися рано, коли ви вибираєте певну стратегію, алгоритм чи контейнер. Якщо вам неможливо досягти цілі, не приймаючи неадекватних дизайнерських рішень, то будь-яка оптимізація, яку ви можете зробити пізніше, не принесе успіху.
Далі, ви повинні турбуватися, коли щось є паралельним чи паралельним. Ігри масово паралельні, якщо не з іншої причини, то тому, що графіка є.
Тому паралель означає не лише "потоки", але також, наприклад, графічний API, доступ до диска чи мережу. Кожного разу, коли ви втрачаєте можливість мати щось, що можна легко і споконвічно виконати паралельно, запустити паралельно, наприклад, через погану синхронізацію (або через те, що зовсім не використовується асинхронний API), ви втрачаєте більше, ніж можете коли-небудь оптимізувати іншими способами.
Ви також повинні турбуватися, коли щосьдобре відомо, що це вузьке місце або джерело кіосків, або перешкода для масштабування. Наприклад, наприклад, перемикання станів візуалізації, виклик дзвінків, зчитування з GPU або відкриття файлів.
Нарешті, коли ви закінчите, і тестування показує, що ви не досягаєте цільової частоти кадрів, вам потрібно оптимізувати. Знайдіть найбільше вузьке місце, яке займає 90% часу, і оптимізуйте це. Якщо цього недостатньо, знайдіть найбільші секунди.
Якщо ви все-таки досягаєте мети, вітаю. Рухайтеся далі і забудьте про це.