Вверх ↑
Разработчик
Ответов: 26151
Рейтинг: 2127
#1: 2008-01-30 22:23:59 ЛС | профиль | цитата
Galkov, ну не ругайся ты сильно на меня

Этот код, действительно нельзя считать двойной буферизацией, его считают обычным ускорителем вывода на контекст, хотя, как работает StretchBlt COM-объекта, тоже не известно. Для того, чтобы он стал действительно нормальным ускорителем с двойным буфером, необходимо, что бы функция BitBlt стояла в обработчике onPaint, что для этого компонента неприменимо.

Да и не настаивал я на применении именно этих кодов, я просто хотел показать надобность двойной буферизации, а какая должна быть реализация, то вопрос этот уже второй. Двойной буфер можно включить проще, назначив тому же PaintBox'y DoubleBuffer=true при инициализации свойств контролу, и посмотреть, что из этого получится.

Насчет ускорителя мне еще Dilma говорил, что применять его не стоит в компонентах -- слишком ресурсоемкий метод.
карма: 22

1
Голосовали:Астрамак