![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
VSync
Evgeniy_K © (2004-06-28 20:06:00)У меня был полнооконный режим 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-08-04 01:41:00) [1]а нафига это надо :)
Для тестирования скорости (производительности приложения/железа) это надо. В принципе, можно замерять не время между кадрами, а только время рендеринга. Но это муторнее, к тому же, лучше, когда скорость "на глаз" соответствует измеряемой.
Ну и ещё вариант - если всё очень уж тормозит, можно таким образом выжать немного дополнительных FPS.
всё начинает очень противно мигать, смотреть невозможно.
Оно, случаем, не прямо на primary рисуется? :)
NikeOLD (2004-08-03 22:19:00) [2]А нафига надо было отключать?
Если у тебя мигает, то и других может. Мне бы это очень не понравилось - стер бы игру сразу же.
cyborg (2004-08-03 21:13:00) [3]
> [10] MANGOL (03.08.04 20:58)
>
> > cyborg © (03.08.04 20:36)
>
>
> Не понял... что, так и должно мигать?
> а нафига это надо :)
Почитай чего нибудь по теме "как показывает кинескоп".
MANGOL (2004-08-03 20:58:00) [4]
> cyborg © (03.08.04 20:36)
Не понял... что, так и должно мигать?
а нафига это надо :)
cyborg (2004-08-03 20:36:00) [5]
> [8] MANGOL (03.08.04 20:35)
Это отключённая видеосинхронизация ;)
MANGOL (2004-08-03 20:35:00) [6]А вот у меня если отключить синхронизацию, всё начинает очень противно мигать, смотреть невозможно.
Что это? Можно ли это как-то исправить?
NikeOLD (2004-08-03 20:10:00) [7]..._DONOTWAIT - когда результат операции не важен, т.е. не отрендерилось и хрен на него
..._WAIT - чтобы рендерилось с гарантией
Evgeniy_K (2004-08-03 19:25:00) [8]Тогда вопрос, когда лучше использовать ..._DONOTWAIT, а когда ..._WAIT
Xerx (2004-07-16 04:18:00) [9]>Magikan
А ты можешь с описанием переменных?
Magikan (2004-07-15 03:30:00) [10]
wglSwapIntervalEXT2:=wglSwapIntervalEXT_Func(SDL_GL_GetProcAddress('wglSwapIntervalEXT'));
if @wglSwapIntervalEXT2<>nil then
wglSwapIntervalEXT2(0);
kerby (2004-06-29 08:11:00) [11]Sync : wglSwapIntervalEXT(1);
NoSync : wglSwapIntervalEXT(0);
rs.falcon (2004-06-28 21:47:00) [12]Сразу вопрос, а как включить или выключить синхронизацию в OpenGL ?
Sapersky (2004-06-28 20:55:00) [13]См. название собственного вопроса :)
Отключить в полноэкранном режиме -
FPrimarySurface.Flip(FBackBuffer, DDFLIP_NOVSYNC or DDFLIP_DONOTWAIT);