Форум: "WinAPI";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизПрограмма замедляется через несколько секунд... Найти похожие ветки
← →
Wild Sam (2003-09-15 16:35) [0]Всем привет. Пишу скринсэйвер, но под одной из версий XP столкнулся с такой проблемой. Иногда программа (которая работает в цикле) через несколько секунд после запуска замедляет свою работу, иногда сразу начинает тормозить, иногда работает нормально. Кто сталкивался с чем-то подобным, хоть с какого края надо начинать искать ошибку???
Скринсэйвер писал на основе распростаненной статьи "Профессиональное создание скринсэйвера на дельфи", ну, та, где размер кода получается 20 кб...
← →
Songoku (2003-09-15 16:46) [1]Попробуй создать отдейный поток (CreateThread). И запихнуть туда функцию каторая рисует - тоесть создай там отдельный цыкл. И увиличь у этого потока приоритет.
p.s. Сильно не увиличивай приоритет это может привисти к фатальной ситуации!!!
← →
ZEE (2003-09-15 16:48) [2]>Wild Sam (15.09.03 16:35)
>Иногда программа (которая работает в цикле)
хм... в цикле? а может все же SetTimer + WM_TIMER
а замедления - да замечал такое, причем не только в своих сейверах, но я предполагал что это винда что-то лопатит поэтому и тормоза...
← →
Wild Sam (2003-09-15 17:09) [3]У меня цикл организован так. Создан поток, который главному окну периодически посылает сообщение WM_Paint, а на это сообщение повешена процедура прорисовки.
← →
Songoku (2003-09-15 17:21) [4]Поробуй синхронизировать эти потоки!!!
← →
andre (2003-09-15 23:01) [5]Попробуй сделать через таймер, а не через WM_PAINT. Лично у меня WM_PAINT загружает проц капитально, а если рисовать на дочернем окне (через WM_PAINT опять-таки), то всё работает как надо. В чём трабла-сам не пойму.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.03 c