Привет всем. Я в программировании графики новичок, так что помогите мне пожалуйста. Вопрос такого плана: есть у меня D3D приложение, ну пусть будет просто окошко с кубиком, как мне отобразить количество FPS (как в WINAMP)? Как выводить текст в принципе нашел, но как получить значение FPS пока не знаю. Просветите плз. PS заодно подскажите есть ли быстрые способы вывода текста, а то что я нашел это вывод текста в RECT'е, а то вывод текста таким образом назван автором статьи медленным.
как получить значение FPS пока не знаю Можно использовать значения счетчика QueryPerformanceCounter. На каждом кадре отрисовки получай его значение, вычисляй количество тиков с момента предыдущего замера (разница в тиках) и зная количество тиков в секунду (QueryPerformanceFrequency) можно посчитать FPS: FPS = QueryPerformanceFrequency / delta(QueryPerformanceCounter) Другой вариант: считать количество отрисованных кадров последние 2-3 секунды, и посчитать среднее в секунду. есть ли быстрые способы вывода текста используй функции D3DXCreateFont, D3DXCreateFontIndirect. но быстрее будет работать, если самостоятельно создать текстуру с заданным шрифтом, создать набор треугольников с нужными текстурными координатами букв и отрисовать этот набор, предварительно изменив камеру - чтобы буквы были в нужном месте экрана и правильно ориентированы.
Именно эти функции и использую. А на счет треуголиников не понял, это что же получается: рисую треугольники, накладываю текстуру и это работает быстрее чем D3DXCreateFontIndirect?
RealFreeman Именно эти функции и использую так, а что не получается? рисую треугольники, накладываю текстуру и это работает быстрее чем D3DXCreateFontIndirect? когда я пробовал - было именно так. попробуй сам, если будет наоборот - дай знать
Да все получается, просто в статье было написано, что это медленный способ и это меня смутило На счет второго - обязательно попробую и дам знать. Только вот вопрос как измерить скорость? Использовать приведенный тобой алгоримт рассчета FPS или есть какие-нить другие способы? Да, вот еще такой вопрос: есть прога, по - моему FRAPS называется, которая считает FPS, ей то можно пользоваться для измерения скорости работы приложения?
просто в статье было написано, что это медленный способ и это меня смутило мне тоже кажется, что D3DXCreateFontIndirect - медленный способ как измерить скорость? Использовать приведенный тобой алгоримт рассчета FPS а чем этот вариант не устривает? если нужно просто сравнить скорость (быстрее/медленее), то как ты меряешь время - не имеет значение. есть прога, по - моему FRAPS называется, которая считает FPS, ей то можно пользоваться для измерения скорости работы приложения? понятия не имею.
Можно. И еще ATITray умеет...(на ATI, разумеется) только... они разные цифры показывают Я как-то извратнулся - активизировал их обе в 3DMark'е - сидел и скептически смотрел на этот бардак.