Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скорость InvalidateRect [D5, WinXP]


Kind ©   (2004-08-26 22:47:00) 

Доброго времени суток!
Эксперементировал тут с фунцией InvalidateRect и получил странный результат - Если я перерисовываю всё окно целиком 800X600, то на это уходит меньше времени чем скажем я перерисовываю квадрат размером 100 на 100 pixel.
Почему так получается?


wicked   (2004-08-27 00:51:00) [1]

хотя, конечно, на код не мешало бы взглянуть.... завтра, например... ;)


wicked   (2004-08-27 00:50:00) [2]

BitBlt - не панацея... но если быстрее, то вывод напрашивается сам...
хотя очень странно - перерисовка части была всегда быстрее перерисовки всего окна, за исключением, если для определения участков обновления городится слишком много кода.... тогда этот код как раз и тормозит всё.....


Kind   (2004-08-27 00:24:00) [3]

Я так и делал, только не 30 секунд а 10 :)
Просто думал может кто знает.
Мне нужно обновить несколько небольших прямоугольных регионов подряд, вот и думаю вызывать несколько раз перерисовку маленьких регионов или целиком окно перерисовать...
(в процессе перерисовки происходит просто BitBlt, это я так сказал, чтобы лишние вопросы и предположения отсечь :)
Кто что посоветует?


wicked   (2004-08-27 00:05:00) [4]


> Если я перерисовываю всё окно целиком 800X600, то на это
> уходит меньше времени чем скажем я перерисовываю квадрат
> размером 100 на 100 pixel.

не берусь судить о качестве эксперимента, но посоветовал бы просто постоянно делать InvalidateRect на протяжении определенного времени, хотя бы около 30 секунд... один вариант, потом - другой... и сравнить результаты.... ;)


Kind   (2004-08-26 23:36:00) [5]

Да, везде было False


Gero   (2004-08-26 22:49:00) [6]

А последний параметр в обоих случаях одинаков?


Наверх

Титульная страница Поиск, карта сайта Написать письмо