

I applied this solution to TS and RA2 and coded the patching tool around it. The original fix was implemented by DCoder. The patches solve the problem the same way as it is done by Ares, the Yuri's Revenge expansion dll. If you understand the raw assembler instructions, you can optimize it by putting a jmp there. The patch changes the game to not allocate surfaces in VRAM in the first place, so this cannot become an issue. When the game wants to draw something, the data has to be copied from VRAM to system RAM, which is an expensive operation and it gets more obvious the more objects (units, debris. Some of them are allocated in Video RAM, some of them are allocated in system RAM. The dimetric Command & Conquer games use several temporary graphics to draw to. After all files are patched, this patcher is not needed any more.

Also: Back up your original game file, just to be sure. To prevent issues with Windows Vista or later, I recommend to put the patcher into a separate folder and copy the game file into it.
