Developer Tales or everything about everything

25Авг/120

Оптимизация C++ в играх

Введение

Хорошо написанные игры на C++ часто проще поддерживаются и могут быть использованы в других играх, чем их аналоги на C. Но стоят ли они того? Могут ли программы, написанный на C++ обеспечить такую же скорость, как и C-аналоги?
С хорошим компилятором и знанием языка можно создавать эффективные игры на C++. В данной главе описаны техники, которые можно использовать, чтобы ускорить работу игр, написанных на C++. Предполагается, что вы знакомы с основами языка C++ и принципами оптимизации кода.

Один из главных принципов оптимизации, который можно повторять раз за разом – профилирование кода. При отсутствии профилирования программисты часто делают два типа ошибок. Во-первых, они оптимизируют не тот код. Большая часть программы не является критичной в отношении скорости выполнения, и оптимизация таких участков – пустая трата времени. Определять, какие участки являются критичными интуитивно не самый лучший подход – вы сможете обнаружить их только посредством прямых измерений (использования памяти и скорости выполнения). И, во-вторых, программисты иногда производят оптимизацию, которая наоборот замедляет скорость выполнения. Эта проблема очень актуальна в отношении к C++, где простая строка кода может сгенерировать невероятно большой машинный код. Поэтому программисту следует как можно чаще изучать машинный код, генерируемый компилятором и профилировать свои программы.

Просмотров: 2946