Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.037 c
3-1098419472
oleg_
2004-10-22 08:31
2004.11.21
MDI


14-1099181911
SpyBack
2004-10-31 03:18
2004.11.21
Зацените


1-1099870605
Змей
2004-11-08 02:36
2004.11.21
как убрать в панели задач?


1-1100089536
Cheburek
2004-11-10 15:25
2004.11.21
Как склеить динамические массивы ? Как вырекзать элемнт из него ?


1-1099990473
ИМХО
2004-11-09 11:54
2004.11.21
Method Destroy hides virtual method





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский