Показать сообщение отдельно
Старый 21.06.2006, 15:09   #85
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,375
Репутация скрыта [+/-]
Ну, то, что оно обнвляется постоянно, понятно. А высчитать его просто - ведь FPS, по сути, то, сколько раз в секунду выполняется рендеринг в цикле, поэтому просто учитывай реальное время с точность до миллисекунды (можно и до секунды, тогда первая секунда сбрасываетя...). Например, использую функцию Windows API GetTickCount().

На примере вряд ли скажу, т.к. под чистым DirectX уже давно не писал, но примерно так:
Код:
Old = число миллисекунд
FrameNumber = 0
Стартуем цикл
	Рендеринг
	New = число миллисекунд
	if (New - Old > 1000) {
		Old = New
		FPS = FrameNumber
		FrameNumber = 0
	}
новый виток цикла
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием