[ retard378 @ 26.04.2009. 22:04 ] @
Code:

bool Igra::Run(void)
{
    char key=' ';
    StartTime=GetTickCount();
    LastTime=0;
    FrameCount=0;
    while (key!='q')
    {
        while(!GetInput(&key))
        {
            TimerUpdate();
        }
    }
    cout << FrameCount/((GetTickCount()-StartTime)/1000)<<endl;
    return true;
}
bool Igra::GetInput(char *c)
{
    if (_kbhit())
    {
        *c=_getch();
        return true;
    }
    return false;
}
void Igra::TimerUpdate(void)
{
    double CurrentTime=GetTickCount()-LastTime;
    if (CurrentTime < 33.333) return;

    FrameCount++;
    LastTime=GetTickCount();
}

http://rapidshare.com/files/226093886/Igra.rar.html
Ovde je ceo kod.



Znaci ovo je problem:

Pokushavam da dobijem priblizno 30 fps.Kao sto vidite u TimerUpdate FrameCount ce se updateovati 30 puta u toku sec.
E sad problem je u tome da ja na moja 2 kompa (Hardverski totalno drugacija) i sa razlicitim operativnim sistemima (Pokushavano XP PRO sp1,sp2,sp3,Home Edition) i razlicitim VSovima (VS 6, VS 2005 , VS2008) dobijam izmedju 21-23 fps , dok kod svakog drugog (na svakom drugom kompu ljudi dobijaju 30fps). Inace gore navedeno je samo deo koda.
Znaci reinstall sam win bezbroj puta i smucilo mi se vishe , probao sam sve kombinacije win i vs i uvek isto.Napominjem da kod svakog drugog radi bez problema (skinite ovo gore je nekoliko kb).
Takodje probano i sa funkijom timeGetTime i ucitanom bibljiotekom winmm.lib ali problem ostaje isti.





[Ovu poruku je menjao X Files dana 27.04.2009. u 07:35 GMT+1]
[ X Files @ 27.04.2009. 06:49 ] @
Ako se ne varam, umesto GetTickCount() za konkretan zadatak treba da koristis: QueryPerformanceFrequency i QueryPerformanceCounter.

Zapocni odavde:
http://www.elitesecurity.org/t131138

... a svakako uradi i druge pretrage, Google-ES-a (ovaj forum) i Google-a po pomenutim kljucnim recima.