radeonuser
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору И вот этот день настал! 23 февраля 2019 года - просто прорыв в исследовании глюков на классической теме Windows 7. Запоминаем ник прекрасного специалиста rmn и молимся за его здоровье!!! Именно он подтвердил мои предположения, к которым я шел 2 долгих года - глюки классической темы Windows 7 и 2D глюки АМД драйверов - это отсутствие двойной буферизации видеовывода. Именно rmn предложил способ засылать в открытое окно стиль WS_EX_COMPOSITED делается это функциями Код: DWORD style; style = (DWORD)GetWindowLong (hwnd, GWL_EXSTYLE); SetWindowLong (hwnd, GWL_EXSTYLE, style | WS_EX_COMPOSITED); | после чего данное окно приобретает некое "свойство", что на нем принудительно включается двойная буферизация - и оно отрисовывается в классической теме также быстро, как и аэро-теме. Я уже проверил это спектре foobar2000 - и впервые за 2 года увидел нелагающий спектр. Программа "2D Test" моего помощника Михалыча, тоже начала отрисовываться гораздо быстрее (время отрисовки сетки уменьшилось с 50-70 мс до 3-4 мс) и пропали остановки при совместной отрисовке с фубаром. Прослявляем имя гениального специалиста rmn. Его идея сработала. Остальное - нужно реализовать программу, которая будет циклически опрашивать все открытые окна и выдавать им магическое свойство WS_EX_COMPOSITED. Добавлено: Метод с WS_EX_COMPOSITED делает главное - показывает, что ускорить видеовывод в классической теме реально. Стали лучше работать: 1) foobar2000 - спектр полностью перестал мигать 2) Total Commander - перестали мигать текстовые метки 3) PerformanceTest - перестали мигать поля 4) Перестал мигать столбик загрузки ЦП в "Диспетчере задач", но появилась другая проблема (читай ниже) 5) 2D Test - отрисовка ускоряется в 15 раз, пропадают глюки при одновременной отрисовке с фубаром Но и вызывает проблемы, например: 1) Появляются глюки при переключении по закладкам "Диспетчера задач" 2) TCPMonitor начинает глючить, картинка в окне бесконечно накладывается при перемещении окна и не обновляется 3) NetMonitor - вообще перестает работать, показывая белое поле 4) Глючат почти все виндовские окна - например "Службы", "Мой компьютер", "Корзина" Вообщем, нужно ещё думать почему так происходит. Каким образом одни окна отличаются от других и засылать команду WS_EX_COMPOSITED не всем окнам, а избранным. Как понять какими свойствами одни окна отличаются от других, почему такая разная реакция? |