Hmmmm... bei mir haut das irgendwie nicht hin:
- Hab den Code in der TriBase folgendermaßen geändert
Außschnitt aus tbResult tbDirect3D::Init(...)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// Präsentationsstruktur ausfüllen
ZeroMemory(&PresentParams, sizeof(D3DPRESENT_PARAMETERS));
PresentParams.BackBufferWidth = pConfig->Direct3D.VideoMode.Width;
PresentParams.BackBufferHeight = pConfig->Direct3D.VideoMode.Height;
PresentParams.BackBufferFormat = pConfig->Direct3D.BackBufferFormat;
PresentParams.BackBufferCount = 1;
PresentParams.MultiSampleType = pConfig->Direct3D.MultiSamplingType;
PresentParams.MultiSampleQuality = pConfig->Direct3D.dwMultiSamplingQuality;
//PresentParams.SwapEffect = D3DSWAPEFFECT_DISCARD;
PresentParams.SwapEffect = D3DSWAPEFFECT_COPY;
PresentParams.hDeviceWindow = m_hWindow;
PresentParams.Windowed = pConfig->Direct3D.bWindowed;
PresentParams.EnableAutoDepthStencil = TRUE;
PresentParams.AutoDepthStencilFormat = pConfig->Direct3D.ZStencilBufferFormat;
PresentParams.Flags = pConfig->Direct3D.ZStencilBufferFormat != D3DFMT_D16_LOCKABLE ? D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL : 0;
PresentParams.FullScreen_RefreshRateInHz = pConfig->Direct3D.bWindowed ? D3DPRESENT_RATE_DEFAULT : pConfig->Direct3D.VideoMode.RefreshRate;
PresentParams.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
//PresentParams.PresentationInterval = pConfig->Direct3D.bWindowed ? D3DPRESENT_INTERVAL_DEFAULT : D3DPRESENT_INTERVAL_ONE;
|
Das ganze hab ich dann Compiliert.
Außerdem hab ich in meiner Render() Funktion eine FPS-Anzeige implementiert, das nach jedem 10. Rendervorgang (also vorm ende der Render Funktion) aktualisiert wird.
Trotzdem zeigt es immer ein ganzes Vielfaches von der Bildschirmwiederholfrequenz an.
Was mach ich da falsch?
mfG
da_oAsch