So I've got to write a game that uses the windows console. This makes very little sense, but I haven't got a choice in the matter.
We're displaying our graphics in the console using WriteConsoleOutput().
We're loading in bitmap sequences for our animations, and parsing bitmaps into our tilemaps. It's all loading in fine and displaying perfectly. Input is working well and everything is drawing correctly.
Our problem WriteConsoleOutput(), which is a very, very slow function, even though we're only trying to write 2000 CHAR_INFO's @ 30 times a second.
However, on windows XP, the problem doesn't exist. It runs at least 3x faster and the tearing isn't even noticeable.
I guess I'm just wondering what changed in the console between XP and 7 aside from limiting non WIN32 applications to 32mb of ram.
If anybody knows any workaround for this, or possible alternatives to WriteConsoleOutput(), it would be greatly appreciated. I know there's a way, it's just probably not obvious or practical in any sense.
But like I said, I've got to do it in the console, so any help aside from "DONT TRY TO DO GRAPHICS IN THE CONSOLE" would be accepted with open arms.
I've considered trying to re-write WriteConsoleOutput but I'm not sure if this is even possible.