FadeIn/Out różne prędkości

0

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();
0

Wielkie dzięki!
Zaraz zaczynam "trawić" co tam napisali :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1