Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

FPS   Найти похожие ветки 

 
Xerx ©   (2004-07-14 08:19) [0]

Объясните, почему у меня FPS не поднимается выше 72? Словно OpenGL использует вертикальную синхронизацию по-умолчанию! Весь движок - заливка экрана черным цветом!!! И все! Почему?


 
Magikan ©   (2004-07-14 08:41) [1]

А он и использует по умолчанию вертикальную синхронизацию


 
ПсихЪ_просто   (2004-07-14 09:07) [2]

http://delphi84.valuehost.ru/cgi-bin/forum.pl?id=1088438773&n=9


 
Колбасьев ©   (2004-07-14 15:40) [3]

Тем более что реально обновление как раз и будет с данной частотой. Ведь обычно FPS в играх - не количество кадров сменяющихся на экране в секунду, а количество кадров сменяющихся в памяти в секунду.


 
ПсихЪ_просто   (2004-07-14 17:15) [4]


> Колбасьев ©   (14.07.04 15:40) [3]

Получается, что OpenGL по умолчанию тормозит систему.


 
ViK ©   (2004-07-14 23:27) [5]

Это твои дрова используют синхронизацию по умолчанию, в детонаторе есть три опции:
1) всегда выкл
2) по умолчанию выкл.
3) по умолчанию вкл.
Измени эту опцию и будет у тебя 300 фпс


 
ПсихЪ_копия   (2004-07-15 00:07) [6]

Ссылку-то я дал, но вот как заюзать ту функцию - не знаю Может кто поделится? (: Каковы параметры инмпортированной функции?


 
Magikan ©   (2004-07-15 03:47) [7]


 wglSwapIntervalEXT2:=wglSwapIntervalEXT_Func(SDL_GL_GetProcAddress("wglSwapIntervalEXT"));
if @wglSwapIntervalEXT2<>nil then
  wglSwapIntervalEXT2(0);


 
Magikan ©   (2004-07-15 03:49) [8]

И еще тип нужно определить

type
 wglSwapIntervalEXT_Func = function (i: Integer): Boolean; stdcall;//cdecl;

var
 wglSwapIntervalEXT2: wglSwapIntervalEXT_Func;


 
Magikan ©   (2004-07-15 03:53) [9]

Млин. Это старые наработки, где я SDL библиотеку использовал.
В винде нужно вместо SDL_GL_GetProcAddress использовать wglGetProcAddress (стандартная WinAPI"евская функция)


 
Xerx ©   (2004-07-16 04:11) [10]

> Колбасьев
А то я не знаю! 3 месяца убил для 860 FPS в VESA в Паскале.
> ПсихЪ_просто
То, что я давно искал! И так просто!


 
Xerx ©   (2004-07-16 04:29) [11]

>Magikan
А что-то разницы ни в 1 FPS!


 
Magikan ©   (2004-07-16 04:31) [12]

Xerx ©,
OpenGL"евское расширение wglSwapIntervalEXT доступно с версии OpenGL 1.12

Объявляешь тип (прототип) функции wglSwapIntervalEXT:

type
wglSwapIntervalEXT_Func = function (i: Integer): Boolean; stdcall;


Далее где-нибудь объявляешь переменную этого типа, которая и будет являться функцией расширения

var
wglSwapIntervalEXT2: wglSwapIntervalEXT_Func;


Дальше нужно инициализировать переменную (получить адрес расширенной функции)

wglSwapIntervalEXT2:=wglSwapIntervalEXT_Func(wglGetProcAddress("wglSwapIntervalEXT"));


Проверяешь, произошла инициализация или нет. Если произошла, отключаешь синхонизацию

if @wglSwapIntervalEXT2<>nil then
 wglSwapIntervalEXT2(0);


Если хочешь обратно включить синхронизацию, то задаешь
wglSwapIntervalEXT2(1);


 
Magikan ©   (2004-07-16 04:33) [13]

Это действует в полноэкранном режиме, где и происходит вертикальная синхронизация


 
Xerx ©   (2004-07-18 04:42) [14]

> Magikan
Ну да, все так. wglSwapIntervalEXT2(0); - вызывается, но разницы нет. А как проверить версию OpenGL? glGetString(GL_VERSION)?
Версия - это поддержка на уровне видео карты?


 
Magikan ©   (2004-07-19 03:41) [15]

Версия - это поддержка на уровне OpenGL (самой графической библиотеки). Если карточка от nvidia, то OpenGL-библиотека поставляется вместе с драйверами. Насчет ATI не знаю


 
Xerx ©   (2004-07-26 04:28) [16]

И что мне делать, если у меня версия 1.4.0. Обновляться прикаждой перестановке системы и вместе с программой поставлять обновление OpenGL?


 
Xerx ©   (2004-07-28 04:22) [17]

Я выключил в системе ограничение по FPS и получил 487. А как снять это ограничение програмно в системе (без OpenGL) раз оно там есть?



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
8-1091519717
parovoZZ
2004-08-03 11:55
2004.11.21
Флипинг и блитинг


1-1099827900
race1
2004-11-07 14:45
2004.11.21
перемешивание стека


14-1099495391
Qwest
2004-11-03 18:23
2004.11.21
Графический редактор.


1-1099547174
diabolik_krsk
2004-11-04 08:46
2004.11.21
Автоматический переход фокуса с TEdit на TEdit


3-1098699289
Zif
2004-10-25 14:14
2004.11.21
Оптимальный поиск...