Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

24.04.2012, 13:51

Direct3D SwapChain RefreshRate

Hallo !

Ich habe eine Frage bezüglich der Refreshrate des Swapchains.
In den meisten Büchern wird hier ja meist ein Defaultwert von 60 Hz angegeben (DXGI_RATIONAL::Numerator = 60, DXGI_RATIONAL::Denominator = 1 ).
Jedoch wird der DirectX-Dokumentation empfohlen keinen Defaultwert zu setzen, da dieser von Monitor zu Monitor variieren kann.

Zitat


The problem for most applications is the refresh rate. The refresh rate that is specified in the call to ResizeTarget must be a refresh rate that is enumerated by the IDXGIOutput object that the swap chain is using. DXGI can automatically calculate this value if the application zeroes out the RefreshRate member of the DXGI_MODE_DESC that is passed into ResizeTarget.
It is important not to assume that certain refresh rates will always be
supported and to simply hard-code a value. Often, developers choose 60
Hz as the refresh rate, not knowing that the enumerated refresh rate
from the monitor is approximately 60,000 / 1,001 Hz from the monitor. If
the refresh rate does not match the expected refresh rate of 60, DXGI
is forced to perform a blit in full-screen mode instead of a flip.
(http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx)

1) Warum führt DirectX bei falscher Refreshrate auch im Vollbildmodus blits aus und keine flips ?
2) Wie kann man die richtige Refreshrate des Monitors ermitteln ?

Vielen Dank!

MfG Philipp