Показать сообщение отдельно
  #5  
Старый 08.10.2012, 10:01
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Ну для начала - вынести Canvas.BeginScene и Canvas.EndScene за цикл отрисовки.
Во вторых, сделай DoubleBuffered:=True;
в третьих - у меня нет XE, но на шестёрке проявляется заметное торможение при уменьшении масштаба. Похоже, что при этом просто приходится обрабатывать больше кусков исходного изображения.
Как вариант - попробуй сделать несколько уменьшеных копий исходного изображения с разной степенью уменьшения, и при заметном изменении масштаба переключаться на них.
Ответить с цитированием