Hi Richard, I believe that this is where we can gain the greatest speed improvement. If the screen is refreshed often, there is a lot of work for windows to do here and that would cause a delay. Refreshing the screen after a delay will really help. Here is a sample of how it could be done: time_t last_time = 0; time_t update_time = 1; long pixelsout = 0L; extern RECT r; extern HWND PixelHwnd; // pointer to window handle for pixel updating /************************************************************************** Plot pixel **************************************************************************/ void outpoint(WORD x, WORD y, DWORD colour) { long i; time_t this_time; long local_width; Bla bla bla // check the time every nnn pixels if (++pixelsout > (BigNumFlag) ? 3 : 100) { pixelsout = 0; time(&this_time); if (this_time > (last_time + update_time)) { InvalidateRect(PixelHwnd, &r, FALSE); last_time = this_time; } } // put the pixel data to RAM here Bla bla bla } Paul. ---------------------------------------------------------- Paul de Leeuw Computers NSW Central Coast, Australia Email: pdeleeuw@deleeuw.com.au www: < http://www.deleeuw.com.au> ABN 72 360 822 562 ---------------------------------------------------------- -----Original Message----- Yes, it is very often. The keyboard is checked a lot. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/> _______________________________________________ Fractdev mailing list Fractdev@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractdev