Показать сообщение отдельно
  #3  
Старый 25.01.2012, 16:37
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цикл "вверх" (to) врятли работает быстрее, потому что в некоторых случаях делфи "переворачивает" обычные циклы в целях оптимизации (были темы на форуме). Да и в машинном коде цикл "вниз" организуется меньшим числом команд, есть даже команда loop специально для этого.
Для цикла "вверх" нужно на каждом проходе увеличивать i и сравнивать с результатом. А вот для цикла "вниз до нуля" достаточно только уменьшать - когда i станет равно нулю, автоматически выставится флаг нуля, в данном случае сигнализирующий об окончании цикла.
Более быстрого способа не вижу.
Можно попробовать сделать несколько больших картинок (как бы ленты из иконок) и, в зависимости от ситуации, копировать и отрисовать нужный участок. Тогда освобождение будет быстрее.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием