![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Attack |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Извините за невнятное названия топика, но ничего лучше не придумал.
Итак к делу. Набросал программку в 1 функцию(Delphi XE):
Думаю разъяснять тут нечего, код простой, программа просто сверяет кусочек экрана с имеющимся изображением. Так вот, при длительной работе программы, скажем 10000 циклов вся операционная система(Win7) начинает подлагивать, в частности очень медленно начинают прорисовываться окна других программ, также появляется замедленная реакция на клик мышки и прочее. Эти симптомы не пропадают даже если остановить цикл(Button2). И только закрытие программы приводит ОС в норму. Вопрос: из-за чего это происходит? И как этого избежать? Это сообщение отредактировал(а) Attack - 16.9.2012, 17:29 |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
А где ReleaseDC? Посмотри в ProcessExlporer (от SysInternals, который теперь пренадлежит MS), вкладку Perfomance раздел Handles, уверен, увидишь постоянно увеличивающееся кол-во "занятых" хэндлов GDI. Кстати, более оптимально сравнивать не по пикселям, а по строкам... CompareMem на scanline. Но при условии, что PixelFormat совпадает. Это сообщение отредактировал(а) MetalFan - 16.9.2012, 17:54 -------------------- There are always someone smarter than you... |
|||
|
||||
Attack |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
MetalFan, большое спасибо, всё как вы сказали. Количество GDI Handles равнялось числу отработанных циклов.
Исправил код, теперь всё работает как нужно:
Также спасибо за подсказку про сравнение по строкам, обязательно посмотрю. Это сообщение отредактировал(а) Attack - 16.9.2012, 18:05 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |