Hallo,
ich habe ein merkwürdiges Problem, welches ich leider nicht akzeptabel gelöst bekomme.
Ich zeichne mittels Directx9 und ID3DXFont:
rawText eine Text auf den Bildschirm. Dieser wird dann für 1-2 Sekunden angezeigt und verschwindet wieder. Nach weiteren 2-3 Sekunden wird er wieder angezeigt und das Spiel geht von vorne los.
Ich schaffe es den Text dauerhaft anzuzeigen, wenn ich meinen Render()-Aufruf von der Message-Loop in WM_PAINT packe und dort ein ValidateRect() ausführe. Allerdings geht dann die CPU Last auf 100%.
Hat jemand eine Idee, woran das liegen kann?
Mein Render() sieht so aus:
Danke und Gruß,
_Grubi
ich habe ein merkwürdiges Problem, welches ich leider nicht akzeptabel gelöst bekomme.
Ich zeichne mittels Directx9 und ID3DXFont:

Ich schaffe es den Text dauerhaft anzuzeigen, wenn ich meinen Render()-Aufruf von der Message-Loop in WM_PAINT packe und dort ein ValidateRect() ausführe. Allerdings geht dann die CPU Last auf 100%.
Hat jemand eine Idee, woran das liegen kann?
Mein Render() sieht so aus:
C++:
if( NULL == m_pDirect3D_Device )
return;
// Clear the backbuffer to a blue color
m_pDirect3D_Device->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,255), -1.0f, 0 );
// Begin the scene
m_pDirect3D_Device->BeginScene();
// DO THE RENDERING
D3DCOLOR fontColor = D3DCOLOR_ARGB(255,255,0,0);
RECT rct;
SetRect(&rct,0,0,m_windowWidth,m_windowHeight);
m_textFont->DrawText(NULL, L"Hello World", -1, &rct, DT_LEFT | DT_NOCLIP, fontColor );
// /DO THE RENDERING
// End the scene
m_pDirect3D_Device->EndScene();
// Present the backbuffer contents to the display
m_pDirect3D_Device->Present( NULL, NULL, NULL, NULL );
Danke und Gruß,
_Grubi