Патч Windows 7 для включения графического ускорения в классической теме

Тема в разделе "WASM.WIN32", создана пользователем rk2019, 11 фев 2019.

  1. rk2019

    rk2019 New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2019
    Сообщения:
    2
    == Патч Windows 7 для включения GPU ускорения в классической теме ==

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

    Описание проблемы:
    Графическое ускорение в Windows 7 используется только в аэро-темах и выключено в базовых темах, в том числе классической. Поэтому в все элементы интерфейса в аэро теме - прорисовываются с помощью видеокарты, а в классической теме - центральным процессором. При наличии нормальной видеокарты (новее 2010 года) аэро темы работают гораздо производительнее базовых тем (в том числе классической), что вызывает удивление, поскольку графически сложные темы отрисовываются быстрее примитивно простых. Классическая тема только в Windows 98/2000/XP работала быстро, а в Windows 7 - это угрюмый тормоз. Для устанения этой проблемы существует аналог классической темы (по виду), но в виде аэро-темы (по свойствам) - она использует ресурсы видеокарты и работает в разы быстрее встроенной классики.

    Усугубляет проблему, что некоторые разработчики драйверов, например AMD, наплевательски относятся к реализации 2D GDI функций в Radeon драйверах новее 2014 года, что ещё более замедляет работу классической темы. Читаем здесь - Низкая 2D GDI производительность новых АМД видеокарт

    Но в других производителей (NVidia, Intel) дела хоть и лучше, но не намного... Приведённые глюки в Видеодемонстрация сравнения тем. 1-я часть видео на примере отрисовки интерфейса в программах:
    - Performance Test 8.0 (перемигивание при перемещении по результатам)
    - NetMonitor - https://2ip.ru/download/NetMonitor.exe (мигание окном 2 раза в секунду)
    - Диспетчер задач (глюки отрисовки столбика загрузки ЦП)
    есть на всех видеокартах у всех пользователей и причина этому - установленный драйвер на видеокарту. После удаления драйвера, то есть на "Стандартном адаптере VGA" - этих проблем нет. Абсурд! Но так и есть, проверьте сами.

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

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

    Реальные примеры ускорения видеовывода в классической теме:

    Примеры 1, 2, 3, 6 - для видеокарт любого производителя (NVidia, Intel, AMD).
    Примеры 4, 5 - только для видеокарт AMD.

    1) Запускаем NetMonitor - https://2ip.ru/download/NetMonitor.exe (окно 2 раза в секунду мигует). Берем за заголовок окна и начинаем его медленно возить по экрану. Происходит чудо, мигания убираются. То есть Винда может отрисовывать окно без багов, но почему на неподвижном окне она этого не делает. Давайте сделаем какую то прогу, которая работает в фоне и дрючит размер окна на 1 пиксель. Главное чтобы это ускоряло видеовывод и не было незаметным для пользователя.

    2) Запускаем встроенный "Диспетчер задач" - столбик загрузки ЦП передергивается, когда нет нет нагрузки, либо она постоянна - то есть когда графика не перерисовывается - она начинает лагать.

    3) Запускаем Performance Test 8.0 ( наблюдаем перемигивание при перемещении по результатам). Удаляем драйвер на видеокарту - перемигивание убирается. Видимо "Стандартный адаптер VGA" использует двойную буфферизацию, которую не используют драйвера от вендоров. Но почему система с драйвером должна работать медленнее, чем без драйвера. Нафиг такие дрова...

    4) Увеличение 2D производительности из ничего. Оказалось, если под окном спектра расположить окно "Radeon Settings", чтобы хоть 1мм окна выступал за пределы окна спектра - то отрисовка спектра ускоряется в десятки раз и FPS в simpleGLUT повышается с 40-60 до 1100-1300. Видеодемонстрация -
    Видимо отрисовка окна "Radeon Settings" задействует какие-то функции видеокарты, которые параллельно заставляют работать быстро весь интерфейс.

    5) При масштабировании размеров окна. Вообще не понятно, масштабируемое окно должно тормозить, а оно наоборот ускоряется. Глюки, которые видны на экране - их нет при завате экрана программой bandicam. Видеозаписи смотреть нужно обе, по-очереди.
    С фотоаппарата -
    С bandicam -

    6) Есть рецепты, когда картинка ускоряется после запуска в фоне аудио или видеопроигрывателя, который просто переводит мультимедиа таймер в определенный режим, что тоже ускоряет видеовывод

    Постановка задачи
    Вообщем нужны любые мысли (патче файлов ОС, создании фоновой программы, драйвере двойной буферизации) - не важно что это будет и как реализовано, важно чтобы это заставляло ОС работать быстрее в классическом оформлении.
     
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.087
    Адрес:
    Russia
    Здравствуйте.
    Во первых я бы убрал агрессивный настрой в начале вашей повести. Это лишнее
    Во вторых - ускорение при масштабировании - это не ускорение. Спешу вас огорчить - это просто дроп кадров.

    2д режим придуман, чтоб работать на видеокартах без поддержки 3д. С точки зрения архитектуры винды - это два сильно различающихся режима. А с точки зрения АМД драйверов - тем более. В 2д режиме, амд драйвера получают только команды нарисовать что-то, уже срендеренное на CPU в буфер. Все .

    Мысли - вы можете сделать некий миррор драйвер который будет принимать GDI колы и транслировать их в DXGK вызовы. Но я не уверен, что вам одному это под силу. Но можете попробовать . Начните с изучения WDDM. Забудьте про патчи.
     
  3. rk2019

    rk2019 New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2019
    Сообщения:
    2
    TermoSINteZ,

    Спасибо за ответ. Разработчики Майкрософта думали так:
    - слабая видеокарта и слабый ПК - используешь классическое оформление
    - мощная видеокарта и мощный комп - используешь аэро-оформление

    Но они не рассчитали на таких как я, у которых мощный новый комп, но они хотят остаться в классическом оформлении, только потому что оно нравится, только потому что мне удобнее работать в привычной простенькой классической теме, без лишних наворотов.

    К сожалению, интерфейс в 2D отрисовывется гораздо медленнее чем в аэро. Вот сегодня сделал сравнение - показываются глюки встроенной классической темы. Но на Classic AE mod 2019_1 - никаких проблем. Глюки будут видны на всех видеокартах (а не только АМД), можете перепроверить у себя.