Ik heb mijn oude polygonen projectje (zie [rml][ 3d] Zelf een Z-Buffer bakken (?)[/rml]) weer opgepakt, en dit keer in C++ gegooit. Boel voordelen, vooral de snelheid. Nu is er één ding wat ik me afvraag (naja, wel meer, maar dit kan ik niet zelf): wat is nou het snelst om in te tekenen? Op het moment doe ik
dit om een memory DC te maken, en die blit ik aan het einde van mijn loopje naar de hdc van mijn window.
Nu blijkt dat de LineTo en de MoveToEx een behoorlijke vertraging introduceren. Zou het niet simpeler zijn om zelf in een array te werken en die te blitten? Zo ja, hoe?
(ow, en hoe krijg ik die memhdc weer SNEL leeg? Toch niet met BitBlt he?)
C++:
1
2
3
| memhdc = CreateCompatibleDC(GetDC(0)); //GetDC mag ook NULL zijn membitmap = CreateCompatibleBitmap(GetDC(0),1400,1000); SelectObject(memhdc,membitmap); |
dit om een memory DC te maken, en die blit ik aan het einde van mijn loopje naar de hdc van mijn window.
Nu blijkt dat de LineTo en de MoveToEx een behoorlijke vertraging introduceren. Zou het niet simpeler zijn om zelf in een array te werken en die te blitten? Zo ja, hoe?
(ow, en hoe krijg ik die memhdc weer SNEL leeg? Toch niet met BitBlt he?)