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

Вниз

Как поменять частоту вертикальной развертки для DirectDraw?   Найти похожие ветки 

 
dwUser   (2004-02-24 18:46) [0]

Подскажите, пожалуйста, как правильно задать параметр dwRefreshRate (так, кажется) функции SetDisplayMode, а еще - как правильно пользоваться функцией EnumDisplayModes (и чтобы различать режимы с разной кадровой частотой). Заранее благодарю.


 
miek ©   (2004-02-24 21:41) [1]

with SurfaceDescription do
 begin
   dwSize:= sizeof( SurfaceDescription);
   dwFlags:= DDSD_CAPS{ or DDSD_BACKBUFFERCOUNT} or DDSD_REFRESHRATE;
   dwRefreshRate:= 80;

   ddsCaps.dwCaps:= DDSCAPS_PRIMARYSURFACE or DDSCAPS_FLIP or DDSCAPS_COMPLEX;
   DwBackBufferCount:= 1;
 end;

DDrawObject.CreateSurface( SurfaceDescription, PrimarySurface, nil);


 
Sapersky ©   (2004-02-26 12:09) [2]

Гм... а просто задать 4-й (или 5-й, не помню точно) параметр SetDisplayMode нельзя (DirectDraw должен быть начиная с 3-го, вообще лучше 7-й)?

По поводу EnumDisplayModes:

Var VModes : array [0..63] of TDDSurfaceDesc2;
   VModeCount : Integer = 0;

function EnumModesCallback(const lpDDSurfaceDesc: TDDSurfaceDesc2;
     lpContext: Pointer) : HResult;
Var BDepth : DWord;
begin
With lpDDSurfaceDesc do
 If (dwWidth=0) or (dwHeight=0) then begin
   Dec(VModeCount); Result:=DDENUMRET_CANCEL;
 end else begin
   Result:=DDENUMRET_OK;
   BDepth:=ddpfPixelFormat.dwRGBBitCount;

   If (dwWidth>=640) and (dwHeight>=480) and
      (BDepth>=16) and (dwRefreshRate>=75) then // например
   begin
       VModes[VModeCount]:=lpDDSurfaceDesc; Inc(VModeCount);
   end;
 end;
end;

DD7.EnumDisplayModes(DDEDM_REFRESHRATES, nil, nil, EnumModesCallBack);



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

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

Наверх




Память: 0.47 MB
Время: 0.037 c
3-1082704507
pet600
2004-04-23 11:15
2004.05.16
Oracle 9 + dbExpress (D7)


7-1081068563
_dEMOn
2004-04-04 12:49
2004.05.16
LPT Порт


11-1069698015
zeddy
2003-11-24 21:20
2004.05.16
Application.OnIdle := MoveBall;


3-1081418073
ev
2004-04-08 13:54
2004.05.16
Как через SQL запрос найти вложенную страку в поле БД, без учета


6-1080234424
rezya
2004-03-25 20:07
2004.05.16
Проблема с неблокирующими сокетами.