Показать сообщение отдельно
Старый 17.04.2019, 23:59   #1 (permalink)
jogerman89
Новичок
 
Регистрация: 16.04.2019
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Ускорение графического интерфейса на классической теме Windows 7 (набор решений)

<><><> Ускорение графического интерфейса на классической теме Windows 7 <><><>

Полный комплект решений от 12 апреля 2019 года, состоящий из новой версии классической аэро темы "Classic AE mod 2019_5" и набора программ с исходным кодом (все наработки за 2 года) для диагностики, контроля и ускорения графического интерфейса.

Пролог:
Посвящено всем, кто привык работать в системе с классическим оформлением, кто не смог приспособиться к планшетозаточенному, вырвиглазному, упрощенному до уровня домохозяйки интерфейсу Windows 8/10. Посвящено тем, кому простой, функциональный классический интерфейс удобнее всего.

Описание проблемы:
Графическое ускорение в Windows 7 используется только в аэро-темах и выключено в базовых темах, в том числе классической. Поэтому в все элементы интерфейса в аэро теме - прорисовываются с помощью видеокарты, а в классической теме - центральным процессором. При наличии нормальной видеокарты (новее 2010 года) аэро темы работают гораздо производительнее базовых тем (в том числе классической), что вызывает удивление, поскольку графически сложные темы отрисовываются быстрее примитивно простых. Классическая тема только в Windows 98/2000/XP работала быстро, но в Windows 7 - это угрюмый тормоз. Усугубляет проблему, что некоторые разработчики драйверов, например AMD, наплевательски относятся к реализации 2D GDI функций в Radeon драйверах новее 2014 года (от v15.7 до v19.4.1 абсолютно все версии), что ещё более замедляет работу классической темы.

Примечание:
Поймите правильно, в играх FPS больше не станет. Игры используют 3D-функции, а они всегда работают с графическим ускорением. Прирост следует ожидать в обычных 2D-приложениях + окошки винды - все элементы интерфейса будут отрисовываться/ масштабироваться/ передвигаться/ накладываться гораздо быстрее, без подтормаживания и перемигиваний текста силами видеокарты, разгружая центральный процессор для других задач.

Варианты решения проблемы низкой производительности классической темы:
1) Использовать классическую тему в аэро-исполнении "Classic AE mod 2019_5" - это аналог классической темы (по виду), но выполненный в виде аэро-темы (по свойствам) - она использует ресурсы видеокарты и работает в разы быстрее
2) Пропатчить Windows 7 (файл dwm.exe) и принудительно включить графическое ускорение в не аэро темах
3) Использовать фоновую программу, которая переводит работу ОС в режим, когда графика ускоряется
4) Написать драйвер "двойной буферизации" видеовывода (этот пункт чисто теоретический, специалиста взявшегося за написание драйвера не найдено)

Осуществлимо ли это?
Я видел, много раз, как после запуска чего-то видеовывод в классической теме ускорялся. Я не смог понять причину этого феномена, но в реальности так происходит... Мне не важно, через какую баг/фичу это реализуется, я вижу факт - в определённых условиях классика становится более производительной и это нужно использовать.

Реальные примеры решения:

По пункту "1") В результате доработки темы "Classic AE v2.5.3", появилась тема "Classic AE mod 2019_5" где исправленные найденные баги, а также интерфейс ещё более приближен к оригинальной классике. Если не придираться по мелочам, то в большинстве программ тема "Classic AE mod 2019_5" на 95-98% сходна оригинальной классике. Тема существует в двух вариантах (с обычными и ClearType шрифтами) и на 12 апреля 2019 года является лучшим заменителем встроенной классики.


Доработки:
1) Добавлен градиент в заголовок окна
2) Правильный цвет текста в заголовках активного и неактивного окон
3) Обычный несглаженный Tahoma-шрифт (без принудительного ClearType)
4) Правильный серый цвет во всех элементах интерфейса RGB (212, 208, 200).
Это самое грандиозное изменение, отредактировано более сотни графических ресурсов.
5) Правильный TrackBar
6) Более классическое меню (исправлено цветовое оформление)
7) Для лучшего восприятия - выделенный пункт на сером фоне более темный, чем на белом
8) Отключена анимация на ProgressBar
9) Используются обычные курсоры
10) Исправлена ошибка в ScrollBar
11) Испрален фон окна в брандмауэре Windows
12) Исправлен слёт аэро-режима при использовании 125% масштаба шрифта
13) Более темный заголовок активного окна в не аэро-режиме
14) Корректный импорт ресурса IMAGE#1136
15) Добавлен вариант темы с ClearType шрифтом
16) Бонусом прилагаются TaskManager и Калькулятор с классическим оформлением,
а также набор дополнительных программ рекомендуемых к использованию:
- 7tt_setup (Taskbar Tweaker) - маленький, но нужный твикер панели задач
- ClassicShellSetup_4_3_1-ru - делает классический вид меню "Пуск"
- FONTS_140516 - приводит все диалоги к стандартному виду, заменяя шрифт Segoe 9 на Tahoma 8

Варианты исполнения темы:
Themes (c ClearType шрифтом)
Themes (c обычным шрифтом)
Пользователям, которым нужны жирные (сглаженные) шрифты - устанавливайте "Classic AE mod 2019_5 (ClearType)". Если вы предпочитаете узкие (классические, не сглаженные) шрифты - то устанавливайте обычный вариант "Classic AE mod 2019_5".

Установка темы:
1) Установить "UniversalThemePatcher" - рекомендуемый вариант. Установщик выбираем для своей разрядности Windows 7 (32- или 64-бит). Для установки необходимо запустить исполняемый файл, выбрать язык и пропатчить 3 файла, затем перезагрузить компьютер. Если патч был ранее применён - то этот шаг пропускаем. Патчер позволяет добавлять в систему темы от сторонних производителей, а не только использовать встроенные. Без установки UniversalThemePatcher (или UxStyle) тема будет работать в базовом режиме, без функций графического ускорения - точно также тормозно как и встроенная классическая. Поэтому наличие в системе "UniversalThemePatcher" или "UxStyle" или другого патчера тем - обязательно.
2) Скопировать файлы темы "Classic AE mod 2019_5" по пути c:\WINDOWS\Resources\Themes\
3) Зайти в "Персонализацию" и переключиться на тему "Classic AE mod 2019_5"
4) Перезагрузить ПК. Всё готово. Наслаждаемся классическим оформлением Windows 7, но уже с работающим ускорением GPU.

Подробное описание темы "Classic AE mod 2019_5", руководство по установке и проверке читаем в отдельном файле Classic_AE_Readme.txt

Программы с исходниками находятся в каталоге:
Soft for Boost 2D\2DTest
Soft for Boost 2D\Classtm_dll
Soft for Boost 2D\DWM Composition
Soft for Boost 2D\Patch dwm.exe
Soft for Boost 2D\WS_EX_COMPOSITED

По пункту "2") Разработчик "Mr dUSHA" предложил вариант патча dwm.exe, но делиться результатами своей работы не стал. В компетентности данного специалиста нет сомнений, он автор нескольких программ, да и по виду скриншота видно, что это не фотошоп, а реально полученная картинка. Кроме картинки более ничего. Других специалистов, занимающихся ковырянием dwm.exe не было.

По пункту "3") Среди фоновых программ есть несколько вариантов.
Прежде всего программы для тестирования и демонстрации необходимости ускорения.

Программа 2D Test - отрисовка сетки линий, программа разработана Mikhalich специально для демонстрации низкой производительности АМД драйверов. В результате, АМД ничего не исправили, а любая тема с названием "Low 2D performance Radeon driver v15.7 - v19.4.1 on Windows 7" моментально удаляется на их ресурсах. Исходный код прилагается.

Программа DWM Composition разработки AzikAtom, позволяет включать/выключать композицию (ускорение GPU) в аэро темах на лету. К сожалению, она не может включить ускорение в базовых темах (в том числе классической) и решить нашу проблему, зато она наглядно демонстрирует сколь важно графическое ускорение. Во второй версии, можно сличать элементы интерфейса - наглядно убедиться в подобности "Classic AE" и оригинальной классики. Основной функционал - кнопки "Enable composition" и "Disable composition", включение и выключение графического ускорения на лету. Исходный код прилагается.

Включатель стиля WS_EX_COMPOSITED разработки rmn. Две программы для включения и выключения стила WS_EX_COMPOSITED, который позволяет на базовых темах (в том числе и классической) принудительно включать двойную буферизацию, что приводит к ускорению 2D видеовывода (особенно на глючных Radeon драйверах). Без интерфейса, включение и выключение стиля просто при запуске. Программа пригодна только для демонстрации, вызывает множество глюков и для постоянной работы не пригодна. Исходный код прилагается.

Библиотека classtm.dll (анонимный автор). Файл classtm.dll нужно положить в c:\Windows\System32 который подгрузится через ключ реестра Appinit_Dlls. Для х86 и х64 систем отдельный файл. Также есть демонстрация на своем окне TestLVS.exe, но для всех остальных приложений работает только через classtm.dll. Загрузка библиотеки через файл реестра classtm_dll_ON.reg, возврат к системным настройкам classtm_dll_OFF.reg. После импорта reg обязательна перезагрузка ПК.

Выключалка - это пустой файл в корне диска C:\classtm (достаточно файл переименовывать, чтобы не удалять/перемещать). Не удивляйтесь, окна "Мой компьютер, Персонализация, Корзина" - перестанут работать, как и другие окна эксплорера. Остальные приложения будут запускаться с графическим ускорением в классичекой теме, правда с испорченным цветовым оформлением. Исходник dll-ки прилагается. Побочные эффекты - некоторые окна превращаются в классические, а некоторые остаются в стиле аэро. Например, в foobar часть интерфейса отображается в классическом виде (четко видно по инвертированию цвета на выделенных пунктах), но заголовок и рамка окна - в аэро.
jogerman89 вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070