Hello,
i recently discovered, that if i move objects at a steady, high! speed in the engine while running windowed mode with a static camera, the movement is not steady but stuttering. You realise this best if the object is not animated and you have a static camera looking at it from above at a distance.
I tested various fps_max, fps_min and time_smooth values - but nothing could solve this issue.
Since i believe supporting windowed mode in a game is very important, i compiled a little demo program and ran it on different pc's and let it test some people.
The result was, that 7 pc's had the stuttering to a different extend - while only 3 did notice it a little bit.
The testprogram contained the following code:
Code:
///////////////////////////////
#include <acknex.h>
#include <default.c>
// system libs
#include <stdio.h>
// debug
#include "deb.c" // debug
#include "deb.h" // debug
///////////////////////////////
function testentity()
{
deb_print("Q to start movement | R reset position");
while(!key_q){wait(1);}
while(key_q){wait(1);}
while(1)
{
vec_accelerate(my.skill1, my.skill10, vector(5,0,0), 0.5);
c_move (me, me.skill1, nullvector ,IGNORE_YOU|IGNORE_MODELS|IGNORE_MAPS|IGNORE_PASSABLE|IGNORE_SPRITES|IGNORE_PASSENTS|IGNORE_CONTENT);
wait(1);
if(key_r)
{
while(key_r){wait(1);}
vec_set(my.x,nullvector);
}
}
}
function main()
{
level_load("test.WMB");
wait(2);
video_set(800,600, 32, 2); // init video adapter
fps_max = 60;
wait(1);
ent_create("cbabe.mdl",nullvector,testentity);
}
You can download it here:
http://www.ackbytes.com/upload/fpstest.zipYou can test this program or try to recreate the behaviour with the above code. The worst result i had with a university computer, where the movement was almost like stop and go.
The problem seems to be most noticable in windowed mode under the above circumstances, in fullscreen it seems to be not so present, only if you really try to find it.
This is really bothering me, because it kind of prevents fast moving objects in window mode and will mess up the whole gameplay in this case.
If it would happen only on one pc i wouldn't mind reporting this problem, but it really happend on a lot of machines.
It's really strange that it's not so noticable on some pc's while most of the testsystems revealed an extreme behaviour with the same code.
So please look into it, maybe i just did anything wrong or there is an easy way to get around. Right now i fear this is engine specific to window mode and no one reported it because its limited to windowmode, fastmoving objects, static camera. Thanks for your understanding.