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

Вниз

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

 
Evgeniy_K   (2004-06-28 20:06) [0]

У меня был полнооконный режим 800x600. Я сделал оконный и прописал
"переключение страниц" через блиттинг. У меня FPS вырос с 75 до 130.
Как-то подозрительно. Сначала думал из-за того, что окно занимает не
всю область экрана. Тогда я сделал окно 1024x768. И по-прежнему FPS
большой. С чем это может быть связано? По логике он должен быть меньше
да и везде так написано. Окно следующее:

function windowinit(caption:pchar; width, height: dword): hwnd;
var
 wc: twndclass;
begin
 zeromemory(@wc,sizeof(twndclass));
 with wc do begin
   lpfnWndProc:= @wndproc;
   style:= CS_VREDRAW or CS_HREDRAW;
   hInstance:= hinstance;
   hIcon:= loadicon(0,IDI_APPLICATION);
   hCursor:= loadcursor(0,IDC_ARROW);
   hbrBackground:= getstockobject(LTGRAY_BRUSH );
   lpszClassName:= caption;
 end;
 if registerclass(wc) = 0 then begin
   messagebox(0,"reg class - incorrect","",mb_ok);
   result:=0;
   exit;
 end;
 result:= createwindow(caption, caption,
                       WS_POPUP,
                       0, 0,
                       width, height,
                       0, 0,
                       wc.hInstance, nil);
end;


 
Sapersky   (2004-06-28 20:55) [1]

См. название собственного вопроса :)

Отключить в полноэкранном режиме -
FPrimarySurface.Flip(FBackBuffer, DDFLIP_NOVSYNC or DDFLIP_DONOTWAIT);


 
rs.falcon   (2004-06-28 21:47) [2]

Сразу вопрос, а как включить или выключить синхронизацию в OpenGL ?


 
kerby ©   (2004-06-29 08:11) [3]

Sync    : wglSwapIntervalEXT(1);
NoSync  : wglSwapIntervalEXT(0);


 
Magikan ©   (2004-07-15 03:30) [4]


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


 
Xerx ©   (2004-07-16 04:18) [5]

>Magikan
А ты можешь с описанием переменных?


 
Evgeniy_K   (2004-08-03 19:25) [6]

Тогда вопрос, когда лучше использовать ..._DONOTWAIT, а когда ..._WAIT


 
NikeOLD   (2004-08-03 20:10) [7]

..._DONOTWAIT  - когда результат операции не важен, т.е. не отрендерилось и хрен на него
..._WAIT - чтобы рендерилось с гарантией


 
MANGOL   (2004-08-03 20:35) [8]

А вот у меня если отключить синхронизацию, всё начинает очень противно мигать, смотреть невозможно.
Что это? Можно ли это как-то исправить?


 
cyborg ©   (2004-08-03 20:36) [9]


> [8] MANGOL   (03.08.04 20:35)

Это отключённая видеосинхронизация ;)


 
MANGOL   (2004-08-03 20:58) [10]


> cyborg ©   (03.08.04 20:36)


Не понял... что, так и должно мигать?
а нафига это надо :)


 
cyborg ©   (2004-08-03 21:13) [11]


>  [10] MANGOL   (03.08.04 20:58)
>
> > cyborg ©   (03.08.04 20:36)
>
>
> Не понял... что, так и должно мигать?
> а нафига это надо :)


Почитай чего нибудь по теме "как показывает кинескоп".


 
NikeOLD   (2004-08-03 22:19) [12]

А нафига надо было отключать?
Если у тебя мигает, то и других может. Мне бы это очень не понравилось - стер бы игру сразу же.


 
Sapersky   (2004-08-04 01:41) [13]

а нафига это надо :)

Для тестирования скорости (производительности приложения/железа) это надо. В принципе, можно замерять не время между кадрами, а только время рендеринга. Но это муторнее, к тому же, лучше, когда скорость "на глаз" соответствует измеряемой.

Ну и ещё вариант - если всё очень уж тормозит, можно таким образом выжать немного дополнительных FPS.

всё начинает очень противно мигать, смотреть невозможно.

Оно, случаем, не прямо на primary рисуется? :)



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

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

Наверх




Память: 0.5 MB
Время: 0.044 c
4-1098470876
MORA
2004-10-22 22:47
2004.12.05
Системная служба


1-1100674273
Серж_Евдокимов
2004-11-17 09:51
2004.12.05
Программно прокрутить HorzScrollBar в ShellTreeView..


1-1101109369
Chery
2004-11-22 10:42
2004.12.05
Не работают функции на сервере при Borland Socket - служба.


14-1100557778
Piter
2004-11-16 01:29
2004.12.05
Можно откатить Internet Explorer?


1-1100881842
VitGun
2004-11-19 19:30
2004.12.05
"Invalid pointer operation" при закрытии.