Problem solved! Switching to just 1 cpu solved the problem, game runs smoothly now. Must be a problem with dual core cpu's.
Windows Task Manager >Processes > right click UFO.exe click on set affinity and uncheck one of the cpu's. the game should run fine now
For automatic select CPU core, use this code:
SetThreadAffinityMask(GetCurrentThread(), mask);
For example:
mask=1 - use core #0
mask=2 - use core #1
mask=3 - use cores #0 and #1
For default I recomended :
SetThreadAffinityMask(GetCurrentThread(), 1);
More simple way to solve this problem:
SetPriorityClass (GetCurrentProcess(), HIGH_PRIORITY_CLASS);
or
SetPriorityClass (GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
Regards
Berserker