> it is spending about 35% of the cpu time in a small loop copying memory in > linear16_drawhorzline().
That's pretty interesting. Is just drawhorzline, or is there significant time being spent in other low-level draw routines? I don't recall why the memsetw is not in use, perhaps there wasn't a memsetw in the C library for the systems at the time. I would suggest that you uncomment it and see where the next bottleneck is. We should also be using Duff's loop unrolling in many places. The blit routine is another major area that could be sped up, its a bit of a longer discussion, since there are emulation layers upstairs in engine/devdraw.c, including GdArea and GdAreaInternal that should be combined with GdBlit and the two or three low level routines there now. > I am trying to draw to an off screen buffer (640x640x16bpp) and then flush it to screen using GrArea(). Maybe there is a better way of doing it? It would be better to use GrCopyArea in this case. That allows all bits to stay on the server. GrArea usually is used with GrReadArea or when the bits are in the client process and need to be moved to the server. Regards, Greg --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]