![]() |
akt. Bildschirmaktualisierungsrate abfragen
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:
Delphi-Quellcode:
Einlesen Farbtiefe:
screenwidth:=Screen.Width; screenheight:= Screen.Height;
Delphi-Quellcode:
Setzen von Auflösung/Farbtiefe und Frequenz:
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;
Delphi-Quellcode:
Danke im Voraus
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz