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

Вниз

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

 
Vitas2   (2002-08-08 10:03) [0]

Подскажите как добиться высокого FPS при использовании OpenGL? Перепробовал все больше 80-85 не получается.
Вывожу 2 треугольника FPS=80.
Вывожу 1000 треугольников FPS=80.

Видео карта GeForce 2 MX200.
Пробовал Riva TNT2 и GeForce4 результат (+ -) 10 FPS.
А в играх бывает покажут и 200-300. Врут .. ?


 
cyborg   (2002-08-08 16:12) [1]

Просто в драйвере стоит синхронизация экрана.


 
Vitas2   (2002-08-08 16:24) [2]

Что за синхронизация и как ее отключить?


 
Ev_genus   (2002-08-08 16:30) [3]

А зачем её отключать? Если так сделать, то игрок половины игры не увидит (это если 200 фпс). Монитор то всегда 100 показывает.


 
Vitas2   (2002-08-08 17:33) [4]

Менял частоту монитора и вправду влияет на FPS.
Но как тогда обьяснить увеличение FPS в моей програмке до 160FPS если размер окна сильно уменьшить примерно по 5см в ширену и вусоту.


 
cyborg   (2002-08-08 19:53) [5]

В драйверах, если карточка NVidia (Detonator) у тебя туда залезь, там в ОпенГЛ синхронизацию выключи, если нет такого чекбокса, то попробуй RivaTuner, через него много чего покрутить можно.


 
a_n_t   (2002-08-09 02:38) [6]

А зачем тебе 200 FPS - все равно разницу не заметишь: что 80, что 200 :)


 
Vitas2   (2002-08-09 06:37) [7]

Не нашол чегото где убрать эту галочку.
И неплохо бы если кто подскажет как програмно это сделать.


 
Gandalf   (2002-08-09 17:22) [8]

Все верно мешает синхронизация. Либо цикл отрисовки кривой.
Но скорее первое.
> И неплохо бы если кто подскажет как програмно это сделать.

var

wglSwapIntervalEXT: function(interval : Integer) : BOOL; stdcall;
wglGetSwapIntervalEXT: function : Integer; stdcall;

WGL_EXT_swap_control := True;
wglSwapIntervalEXT := wglGetProcAddress("wglSwapIntervalEXT");
wglGetSwapIntervalEXT := wglGetProcAddress("wglGetSwapIntervalEXT");

procedure glSetVSync(VSync: Boolean);
var
I: Integer;
begin
if WGL_EXT_swap_control then
begin
I := wglGetSwapIntervalEXT;
if VSync then
begin
if I <> 1 then
wglSwapIntervalEXT(1);
end
else
begin
if I <> 0 then
wglSwapIntervalEXT(0);
end;
end;
end;

Можно еще конечно на WGL_EXT_swap_control честно проверить, но это уже сам. Если Что пиши.


 
Vitas2   (2002-08-10 07:30) [9]

Спасибо помогло.
Раньше в местах где выводил много треугольников FPS снижалось до 45 а теперь до 70.
А некоторые спрашивали :

А зачем её отключать? Если так сделать, то игрок половины игры не увидит (это если 200 фпс). Монитор то всегда 100 показывает.

Мне 200 не надо и меньше 20 тоже.


 
Gandalf   (2002-08-11 16:17) [10]

>А зачем её отключать? Если так сделать, то игрок половины игры >не увидит (это если 200 фпс). Монитор то всегда 100 показывает.
На эту фразу могу заметить - что это явный гиперболизм. Игрок все увидит. Если кадры в пределах частоты монитора, если меньше будет небольшой дефект графики - многие даже того незначительного ухудшения графики и не замечают, а вот FPS замечают все.



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

Форум: "Игры";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
14-5205
Fog
2003-01-11 18:02
2003.02.03
Моя первая игра!!!


3-4730
Ops
2003-01-14 16:08
2003.02.03
SQL запрос. Сумма по 2 таблицам. Уже 2 часа думаю


14-5223
Avsam
2003-01-14 17:43
2003.02.03
Delphi 7. Есть ли уже Update Pack?


3-4736
BigVova
2003-01-15 16:43
2003.02.03
Можно ли в триггере определить транзакцию


7-5314
Mika
2002-11-15 09:59
2003.02.03
Обработчик прерывания





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский