Форум: "Media";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизСкорость InvalidateRect Найти похожие ветки
← →
Kind (2004-08-26 22:47) [0]Доброго времени суток!
Эксперементировал тут с фунцией InvalidateRect и получил странный результат - Если я перерисовываю всё окно целиком 800X600, то на это уходит меньше времени чем скажем я перерисовываю квадрат размером 100 на 100 pixel.
Почему так получается?
← →
Gero © (2004-08-26 22:49) [1]А последний параметр в обоих случаях одинаков?
← →
Kind (2004-08-26 23:36) [2]Да, везде было False
← →
wicked © (2004-08-27 00:05) [3]
> Если я перерисовываю всё окно целиком 800X600, то на это
> уходит меньше времени чем скажем я перерисовываю квадрат
> размером 100 на 100 pixel.
не берусь судить о качестве эксперимента, но посоветовал бы просто постоянно делать InvalidateRect на протяжении определенного времени, хотя бы около 30 секунд... один вариант, потом - другой... и сравнить результаты.... ;)
← →
Kind (2004-08-27 00:24) [4]Я так и делал, только не 30 секунд а 10 :)
Просто думал может кто знает.
Мне нужно обновить несколько небольших прямоугольных регионов подряд, вот и думаю вызывать несколько раз перерисовку маленьких регионов или целиком окно перерисовать...
(в процессе перерисовки происходит просто BitBlt, это я так сказал, чтобы лишние вопросы и предположения отсечь :)
Кто что посоветует?
← →
wicked © (2004-08-27 00:50) [5]BitBlt - не панацея... но если быстрее, то вывод напрашивается сам...
хотя очень странно - перерисовка части была всегда быстрее перерисовки всего окна, за исключением, если для определения участков обновления городится слишком много кода.... тогда этот код как раз и тормозит всё.....
← →
wicked © (2004-08-27 00:51) [6]хотя, конечно, на код не мешало бы взглянуть.... завтра, например... ;)
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c