Witam!
Napisałem taki oto kod, którego zadaniem jest zrobienie efektu FadeIn a potem FadeOut. Problem w tym, że u mnie działa ten kod w miarę normalnie, a u kolegi działa jakieś 3 razy wolniej. Na dodatek on masz szybszy komputer niż ja :) Gdzie może leżeć problem? Jak zrobić, żeby na każdym komputerze kod działał z tą samą prędkością?
Byte *p, *d;
bool FadeEnd = true;
if ( FadeIn )
for (int h = 0; h < TitleBmp->Height; h++)
{
p = (Byte*) TitleBmp->ScanLine[h];
d = (Byte*) FadeInBmp->ScanLine[h];
for (int w = 0; w < TitleBmp->Width * 3; w++)
if ( d[w] < p[w] )
{
d[w]++;
FadeEnd = false;
}
}
if ( !FadeIn )
for (int h = 0; h < TitleBmp->Height; h++)
{
p = (Byte*) TitleBmp->ScanLine[h];
for (int w = 0; w < TitleBmp->Width * 3; w++)
if ( p[w] > 0 )
{
p[w]--;
FadeEnd = false;
}
}
Refresh();
Rysowanie odbywa się poprzez
Canvas->Draw();