Ich versuche, doppelte Pufferung zu implementieren, aber es scheint nicht zu arbeiten, d. H. Die Grafik flackert immer noch.Doppelte Pufferung? Win32 C++
Der WM_PAINT wird jedes Mal aufgerufen, wenn sich die Maus bewegt. (WM_MOUSEMOVE)
Pasted WM_PAINT unter:
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rect;
GetClientRect(hWnd, &rect);
int width=rect.right;
int height=rect.bottom;
HDC backbuffDC = CreateCompatibleDC(hdc);
HBITMAP backbuffer = CreateCompatibleBitmap(hdc, width, height);
int savedDC = SaveDC(backbuffDC);
SelectObject(backbuffDC, backbuffer);
HBRUSH hBrush = CreateSolidBrush(RGB(255,255,255));
FillRect(backbuffDC,&rect,hBrush);
DeleteObject(hBrush);
if(fileImport)
{
importFile(backbuffDC);
}
if(renderWiredCube)
{
wireframeCube(backbuffDC);
}
if(renderColoredCube)
{
renderColorCube(backbuffDC);
}
BitBlt(hdc,0,0,width,height,backbuffDC,0,0,SRCCOPY);
RestoreDC(backbuffDC,savedDC);
DeleteObject(backbuffer);
DeleteDC(backbuffDC);
EndPaint(hWnd, &ps);
}