Войти
ПрограммированиеСтатьиГрафика

Direct3D9: элементарные правила оптимизации

Внимание! Этот документ ещё не опубликован.

Автор:

Введение


    Основной источник информации по Direct3D API — MSDN, — как известно, предлагает множество дополнительного материала. Одним из таких является статья «Performance Optimizations», которая незатейливо расположилась в категории «Programming Tips». Судя по типичным ошибкам новичков, данный опус, чаще всего, остается без внимания. Вероятно, по причине незнания английского. Если так, то представляю вам вольный перевод первого раздела, в котором собраны общие советы.

    По причине своей неграмотности, статья вызвала резонанс. Уже внесено достаточное количество поправок и замечаний. Если вы тоже заметили технические неурядицы в тексте, милости прошу присоединиться к обсуждению в комментариях. Все замечания будут вноситься в текст по мере поступления. Некоторые фразы участников были незначительно изменены и/или дополнены, чтобы их было легко логически встроить в текст.


Элементарные правила оптимизации


    Каждый, кто разрабатывает графические приложения, заинтересован в поддержании приемлемой скорости работы своего детища. В большинстве случаев, вполне достаточно всего лишь не делать грубых нарушений, типа выделения большого объема памяти в каждом кадре. Такие ошибки особенно «дорого» обходятся в мире .NET, где на эффективное управление памятью принято смиренно закрывать глаза. Дескать, аллокация дешевая, обо всем остальном позаботится сборщик мусора. Верно кто-то заметил: «самый быстрый код — тот, который никогда не выполняется». Плохо конечно, когда программист беспечно относится к происходящему, не вникая в детали, но ведь и обратная ситуация, когда маниакально выкраивается каждый такт процессорного времени — немногим лучше. Во всем необходимо знать меру. Но это так, отступления. Вот что MSDN советует по части Direct3D9:





    И последнее. Хотелось бы выразить благодарность всем тем, кто прочел данный документ и внес свои предложения: Zeux, Mr F, Andrey, innuendo, Osiris, Sqwer_37, Z.

#Direct3D9, #DirectX, #оптимизация

6 июля 2011 (Обновление: 8 июля 2011)

Комментарии [149]