Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2013, 12:35   #1
Samdron
Новичок
Джуниор
 
Регистрация: 04.07.2011
Сообщений: 1
По умолчанию Тормоза при отрисовке формы и компонентов

Здравствуйте. Заранее прошу прощения, если подобный вопрос уже поднимался ранее.

Есть простой цикл (MF это Form1):
Код:
  MF.Show;
  MF.AlphaBlend := True;
  MF.AlphaBlendValue := 0;
  for I := 0 to 127 do
    Begin
      Application.ProcessMessages;
      MF.AlphaBlendValue := I * 2;
      Sleep(1);
    End;
Периодически (не всегда) программа выполняет его так, как будто Sleep(100).
В интернете пишут, что старые компьютеры тормозят, используя свойство AlphaBlend, и я начал уже было думать, что это косяк свойства.
Но. В этой же программе есть такой цикл, перемещающий несколько TLabel по форме:
Код:
  MF.AlphaBlend := False;
  MF.Show;
  for A := 0 to 60 do
    Begin
      Application.ProcessMessages;
      if (A <= 36) then
        Begin
          MF.Label3.Top := A;
          MF.Label4.Top := A;
        End;
      if ((A >= 12) and (A <= 48)) then
        Begin
          MF.Label2.Top := A-12;
          MF.Label5.Top := A-12;
        End;
      if ((A >= 24) and (A <= 60)) then
        Begin
          MF.Label1.Top := A-24;
          MF.Label6.Top := A-24;
        End;
      Sleep(1);
    End;
Он ведет себя точно так же (периодически тормозит).

Давным давно много использовал Delphi 6 на AMD Sempron 1.2 GHz и никогда не встречался с такого рода проблемой.

Сейчас использую Delphi 2010 на Intel Core 2 Duo E8400, кстати тот же эффект и на AMD Phenom 965.

Подскажите пожалуйста где собака зарыта? И как с этим бороться?
Samdron вне форума Ответить с цитированием
Старый 14.07.2013, 13:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Думаю что тормоза дает это: Application.ProcessMessages;
Хотя мне лично кажется что проблема высосана из пальца (без обид)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убираем тормоза в отображении картинок и элементов формы. Karp_13 C++ Builder 0 19.02.2012 20:40
Моргание при отрисовке Аплета по таймеру Airou Общие вопросы по Java, Java SE, Kotlin 0 05.01.2012 18:55
Проблема с событиями при редактировании компонентов формы из кода FiloXSee C# (си шарп) 3 08.12.2011 10:04
TListView+AlphaControls+CustomDrawI tem - баг при отрисовке. XerSon Общие вопросы Delphi 9 09.03.2011 12:36
При отрисовке исчезают элементы AlkaloiD Win Api 7 18.12.2010 03:52