Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2011, 18:10   #31
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Intel Core i7- 975 Desktop processor 3.46 ГГц - 55.36 GFLOPS
Nvidia GeForce GTX 580 - 1581 GFLOPS
http://www.intel.com/support/process.../cs-023143.htm
http://www.geeks3d.com/20101111/shad...force-gtx-580/
PS: 512 ядер и потребление 244 ват, не один проц для настольного ПК и рядом не валялся

Последний раз редактировалось Kostia; 06.02.2011 в 18:14.
Kostia вне форума Ответить с цитированием
Старый 06.02.2011, 18:17   #32
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Хоро-о-о-ош, хорош, ...отклоняетесь от темы. Лучше киньте автору прям сюда код "правильного" подсчета fps.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 06.02.2011, 18:29   #33
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Я FPS считаю так:
Код:
double TimeGetTime()
{
	LARGE_INTEGER Time;
	QueryPerformanceCounter(&Time);
	return (double)(Time.QuadPart);
}

double GetFreq()
{
	LARGE_INTEGER Freq;
	QueryPerformanceFrequency(&Freq);
	return (double)(Freq.QuadPart);
}

int glw::Idle()
{
//...//
	DeltaTime = 0;
	oldTime = TimeGetTime();
//...//
	while(!done)									
	{
                if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)!=0)	
		{
			if (msg.message==WM_QUIT)done=TRUE;							
			else DispatchMessage(&msg);
		}
                if(active)
		{
			if((dt>0,016666667)||(IsvSync)){ //чтобы проц. лишний раз не гонять
				Sleep(1);
			}
			DeltaTime = (TimeGetTime() - oldTime)/GetFreq();//время одного кадра в секундах
			if(DeltaTime >= dt)//искусственное замедление
			{
				oldTime = TimeGetTime();
				if(DisplayProc) DisplayProc();
				SwapBuffers(hDC);
				FPS = (1.0/DeltaTime);//кол-во кадров за 1 секунду
			}
		}
	}
}
Правда GetFreq() можно выполнить всего один раз, как написано на сайте M$ частота каунтера во время работы системы не меняется, но по этому поводу слишком много споров, поэтому черт его знает, пока считаю так...
Kostia вне форума Ответить с цитированием
Старый 06.02.2011, 18:42   #34
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Чооо?! Так бывает?!
В этом и состоит особенность DirectX 11 - он действительно позволяет так делать, если видеокарта слабая.
_-Re@l-_ вне форума Ответить с цитированием
Старый 06.02.2011, 21:57   #35
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Kostia Посмотреть сообщение
FPS, при вертикальной синхронизации никогда не поднимется выше частоты обновления монитора. И да, видеокарта не ждет, ждет драйвер, но это думаю и так ясно...
http://www.gamedev.ru/code/terms/VSync
Так драйвер видео картой и управляет и она не рисует, пока картинка не будет выведена считай ждет. Конечно, это верно в том случаи, если она быстрее рисует, чем частота вертикальной синхронизации.

А чтобы фпс посчитать, то не нужно пользоваться всякими OnPaint и прочими событиями. Системные функции очень тормозные... Да и DX не на форму рисует, а на поверхность экрана непосредственно
An1ka вне форума Ответить с цитированием
Старый 14.02.2011, 11:20   #36
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Да и DX не на форму рисует, а на поверхность экрана непосредственно
DirectX рисует на той поверхности, на которую ей дескриптор передали.
_-Re@l-_ вне форума Ответить с цитированием
Старый 14.02.2011, 11:23   #37
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
У меня инет не так давно и я не знаю как создавать новые темы. Я мало на сайтах бываю. Если бы умел создавать новые темы, конечно я бы тут не лез бы не в тему.
кнопку совсем не видим?
тырк и перейдете в создание темы в этом разделе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OpenGL проблема с подсчетом FPS AS10 Мультимедиа в Delphi 4 15.09.2009 21:17
Лимиты FPS? VintProg Gamedev - cоздание игр: Unity, OpenGL, DirectX 28 07.09.2009 21:49
Как улучшить fps ? minatavr84 Компьютерное железо 2 26.03.2009 23:59
FPS Creator SaiLight Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 12.01.2009 09:57
Почему кп показывает низкий fps??? Samec_92 Компьютерное железо 11 18.12.2008 20:38