Hallo
ich bräuchte einen Tipp zur Abfrage der Bildschirmfrequenz..
-> in meinem Programm (Graphik) habe ich festgestellt, das mit einer bestimmten Desktop-Einstellung (1024/728,65535 Farben, 72Hz) eine optimale Darstellung und !!! eine um ~200% höhere Performance als mit besseren/höheren Einstellung erreicht wird.
--> daher dachte ich mir:
beim Programmstart lese ich o.a. Einstellungen ein / schalte auf opt. Einstellungen um... bei Programmende setze ich auf ursprüngliche Einstellung.
Nur diese Frequenzabfrage bringt mich noch zum verzweifeln...
Einlesen Bildschirmauflösung:
screenwidth:=Screen.Width; screenheight:= Screen.Height;
Einlesen Farbtiefe:
Delphi-Quellcode:
function TMainForm.GetPaletteDepth: string;
var
DesktopDC: HDC;
BitsPerPixel: Integer;
begin
DesktopDC := GetDC(0);
BitsPerPixel := GetDeviceCaps(DesktopDC, BITSPIXEL);
case BitsPerPixel of
4 : Result := '16 Farben (4-Bit Farbtiefe)';
8 : Result := '256 Farben (8-Bit Farbtiefe)';
16: Result := '64k Farben (16-Bit Farbtiefe)';
24: Result := '16M Farben (24-Bit Farbtiefe)';
32: Result := 'True Color (32-Bit Farbtiefe)';
end;
ReleaseDC(0, DesktopDC);
end;
Setzen von Auflösung/Farbtiefe und Frequenz:
Delphi-Quellcode:
function TMainForm.AnotherScreen(Width, Height: Word; BitsPerPixel, DisplayFrequency: Integer):Boolean;
var
DeviceMode : TDevMode;
begin
with DeviceMode do
begin
dmSize:=SizeOf(DeviceMode);
dmBitsPerPel:=BitsPerPixel;
dmPelsWidth:= Width;
dmPelsHeight:= Height;
dmDisplayFrequency:=DisplayFrequency;
dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
Result:=ChangeDisplaySettings(DeviceMode,CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL;
end;end;
Danke im Voraus