I have come across a strange problem in using Voxlaps drawtile function. It seems to perform much worse when used in fullscreen mode.
Here's an example that does nothing more than renders a single tile every 3 seconds: *gone*
For me, in windowed mode the FPS is 120 when the tile is rendered and 140 when it's not. In fullscreen, FPS is 13 when rendering, and 60 (vsync) when not.
Others tested it with similar results (60->30 fullscreen, 61->55 windowed).
Strangely enough, I looked at the drawing loop and it made the same number of iterations in both cases, so my guess would be that it's some kind of cache issue?
Edited by hansk at
Awesoken at
Re: Voxlap tile rendering bug?
In winmain, fullscreen mode writes directly to video memory. When you use drawtile() with transparency enabled, it must read video memory in order to mix the colors. Try to keep alpha areas as small as possible. If you must use a large area of alpha, then you should hack winmain to always use a temporary render buffer. The easiest way to do that is to search for "if (ncolbits != dacolbits)" and replace it with "if (1)". Tihs will enable emulation, which in 32bpp->32bpp just copies the data like a standard blit.