Сейчас на форуме: (+5 невидимых)

 eXeL@B —› Дневники и блоги —› Патч Windows 7 для включения графического ускорения в классической теме
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 11 . 12 . >>
Посл.ответ Сообщение

Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 18 февраля 2019 01:13 · Поправил: Jurim
· Личное сообщение · #1

=== Патч 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" Насколько эта тема более производительна продемонстрировано в - Видео демонстрация сравнения тем
2) Найти и пропатчить Винду, чтобы включить ускорение (например использовать какие-то файлы с Windows 8)
3) Написать фоновую программу, которая переводит работу ОС в режим, когда графика ускоряется
4) Написать драйвер "двойной буферизации" видеовывода

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

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

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

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

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

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

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

5) При масштабировании размеров окна. Вообще не понятно, масштабируемое окно должно тормозить, а оно наоборот ускоряется. Глюки, которые видны на экране - их нет при завате экрана программой bandicam. Видеозаписи смотреть нужно обе, по-очереди.
С фотоаппарата - https://www.youtube.com/watch?v=XpJhC8N9g0Y
С bandicam - https://www.youtube.com/watch?v=rbPjna3myew

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

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




Ранг: 338.5 (мудрец), 349thx
Активность: 2.112.42
Статус: Участник

Создано: 18 февраля 2019 01:37 · Поправил: difexacaw
· Личное сообщение · #2

Дежавю. Я уже видел эту тему..

Вроде бы вам конкретно сказали на васм, кури wdk, собирай. Что толку от твоих вопросов, для твоей задачи.

-----
vx




Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 18 февраля 2019 10:26
· Личное сообщение · #3

difexacaw

Задача очень сложная, не понятно за что браться. Некоторые грамотеи пишут - какие проблемы, пишешь свой драйвер, свою операционку... Только эти ребята 2 строчки кода за свою жизнь не написали.

Пока склоняюсь к созданию виртуальной прокладки - драйвера двойной буфферизации видеовывода. Когда одно изображение ещё не вывелось, а буфер заполняется данными другого кадра - это вызывает мельтешение картинки.

Эффект особенно заметен на программах, созданных в старых средах. Например, встроенный "Диспетчер задач" мельтишит столбиком "Загрузка ЦП" и текстовыми метками, хотя по сути является простейшим приложением. Просто создан ещё под Виндовс NT4 в древнющей VC и тянет глюки с тех пор.



Ранг: 56.2 (постоянный), 22thx
Активность: 0.030.08
Статус: Участник

Создано: 18 февраля 2019 12:23
· Личное сообщение · #4

Jurim пишет:
переводит мультимедиа таймер в определенный режим


ну так и научи свой софт использовать сервис Multimedia Class Scheduler - или тоже пары строчек кода написать не в состоянии? ;)



Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 18 февраля 2019 21:17
· Личное сообщение · #5

Alf

Установка мультимедиа таймера с тика 16 мс на 1 мс, ускоряла работу лет 10 назад только в определенных программах. Короче это не панацея! Я просто привел для примера.



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 19 февраля 2019 00:10
· Личное сообщение · #6

Jurim пишет:
некоторые разработчики драйверов, например AMD, наплевательски относятся к реализации ...

Code:
  1. sudo add-apt-repository ppa:oibaf/graphics-drivers
, оминь!

Можно ведь альтернативный shell запилить вместо Explorer.

Вообще на месте AMD(интел, нвидиа - нужное подчеркнуть) можно было бы задуматься выложить свой индусский код для древних систем в открытый доступ, для сообщества.



Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 21 февраля 2019 00:07
· Личное сообщение · #7

ELF_7719116

А поможет ли альтернативный эксплорер? Я пробовал устанавливать Астон - вроде замена эксплорера, не знаю насколько полная. Но с Астоном ничего не меняется.

Говорят костыли закопаны в файле dwm.exe. Ну а вообще нужно писать драйвер, выполняющий двойную буфферизацию. Ведь все глюки которые видны в классической теме - они присутствуют только на экране, а при захвате экрана, например Bandicam и просмотре захваченного видео - никаких глюков нет.

Например, есть маленькая программа Neutron v1.07 (размер 10 кБ, синхронизилка времени через интернет). Прога примитивно простая, но она тоже мигает единственной текстовой строкой в классической теме. Ссылка - https://my-files.ru/3em9h3

Встроенная классическая тема - мигает
Classic AE (или любая аэро тема) - не мигает

Видеодемонстрация - https://www.youtube.com/watch?v=XmYfBwipNyE




Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 21 февраля 2019 14:01
· Личное сообщение · #8

--> Link <--

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 21 февраля 2019 18:40
· Личное сообщение · #9

ClockMan пишет:
--> Link <--


Спасибо. С теорией мы знакомы.
Какое-то практическое решение предложить можете??
Ибо напрягает наблюдать как лагает простенький интерфейс.
Я так понимаю нужен драйвер - прослойка.



Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 21 февраля 2019 19:23
· Личное сообщение · #10

Jurim И что ты сделал сам, акромя спама этой темы по всем возможным форумам? И ловли банов на них?



Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 21 февраля 2019 21:42
· Личное сообщение · #11

Alchemistry пишет:
Jurim И что ты сделал сам, акромя спама этой темы по всем возможным форумам? И ловли банов на них?


Я сделал 3 полезные вещи.
1) Я показал всему миру, что АМД лепит горбатые драйвера в течении последних 5 лет, в которых 2D производительность ниже производительности "Стандартного адаптера VGA" и болтается на уровне карт 15 летней давности
2) Я акцентировал внимание пользователей на тормозность встроенной классической темы Виндовс 7. До этого встречались разрозненные посты с непониманием, почему в ВинХР все пучком, а в Вин 7 классика глючит
3) К сожалению, драйвер двойной буферизации я сделать не могу, не хватает мозгов. Но я смог модернизировать классическую тему в аэро-исполнении https://exelab.ru/f/action=vthread&forum=3&topic=25595 И на февраль 2019 года - это самая лучшая классическая тема в мире (и по виду и по безглючности работы).



Ранг: 158.6 (ветеран), 123thx
Активность: 0.140.5
Статус: Участник

Создано: 21 февраля 2019 21:51
· Личное сообщение · #12

Jurim пишет:
И на февраль 2019 года - это самая лучшая классическая тема в мире (и по виду и по безглючности работы)

Ну так и сиди на ней. Никто не будет писать драйвер, исправляющий косяки винды. Если ты, конечно, не готов оплатить пятизначный ценник (нет, не в рублях)



Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 21 февраля 2019 22:07
· Личное сообщение · #13

rmn

Тема в аэро-исполнении - это временная затычка... Поскольку нет возможности решить проблему в лоб (на уровне видеодрайвера), поэтому решаем обходным путём...

Есть же "староверы" которые до сих пор работают в классическом оформлении, многие ещё с ВинХР не слезли. Когда они перейдут на Виндовс 7 - то проблема станет ещё актуальнее. Таких "староверов" не так и мало.



Ранг: 158.6 (ветеран), 123thx
Активность: 0.140.5
Статус: Участник

Создано: 22 февраля 2019 00:20
· Личное сообщение · #14

Jurim пишет:
Когда они перейдут на Виндовс 7 - то проблема станет ещё актуальнее.

Сижу на семерке с классической темой и никаких проблем не вижу. Ну, да, дохера софта пишется рукожопыми говнокодерами, которые смогли войти в айти благодаря радам, которые для них запилили, чтобы они наполняли контентом винду.
Если для тебя это такая большая проблема, сделай EnumWindows() и проставь всем top-level окнам стиль WS_EX_COMPOSITED, что включит для них принудительную двойную буферизацию и они перестанут мерцать при ресайзах, как в этих твоих аеро-темах.



Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 22 февраля 2019 01:46 · Поправил: Jurim
· Личное сообщение · #15

rmn

Извините, я не программист.
Если вы можете написать такую программу - я буду рад решению данной проблемы и понесу по миру имя ваше, прославляя его.



Ранг: 56.2 (постоянный), 22thx
Активность: 0.030.08
Статус: Участник

Создано: 22 февраля 2019 15:13
· Личное сообщение · #16

для этого на форуме есть топик по платному поиску специалистов ;)



Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 22 февраля 2019 21:44 · Поправил: Jurim
· Личное сообщение · #17

Alf

Если тебя интересует коммерческая сторона - то иди в тот топик, делай заказы. Эта тема причем?

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



Ранг: 56.2 (постоянный), 22thx
Активность: 0.030.08
Статус: Участник

Создано: 23 февраля 2019 11:55
· Личное сообщение · #18

ну так сразу же и написал бы, что ты жлоб загребающий жар чужими руками, а сам что-либо не в состоянии сделать ;)




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 февраля 2019 12:13 · Поправил: f13nd
· Личное сообщение · #19

Перечислить окна и назначить им дополнительный стиль - прекрасная задачка для новичка. Легко гуглится, легко пишется буквально в несколько строчек. Если бы техническая сторона вопроса была хоть немного интересна, все было бы уже сделано. Когда человек с мышлением специалиста сталкивается с проблемой, главный вопрос, которым он задается - "как?", для мышления менеджера больше характерен вопрос "кто?". Этот форум в основном для специалистов.

-----
2 оттенка серого


| Сообщение посчитали полезным: Alchemistry, sty, MadDAD


Ранг: 338.5 (мудрец), 349thx
Активность: 2.112.42
Статус: Участник

Создано: 23 февраля 2019 13:17 · Поправил: difexacaw
· Личное сообщение · #20

f13nd

На васм ему тсз ответил конкретно(что с ядром делать), больше там он эту чушь не писал и ничего не спрашивал.

Это слишком долго затянулось, как таковой задачи нет. Юзер гуй столь гибкий что можно делать всё что хочешь, а профайл с ним не связан. ТС придумал какую то бредовую задачу, в которую втягивается вообще всё - нт, видеожелезки и их драйвера етц.

Что какой то гуй не нравится это для детей обьяснение. Это тема про ускорение работы майнеров на GPU.

По этой причине он задачу и не озвучивает, а говорит что не нравится оформление, большей глупости придумать сложно.

Закинуть затравку, что бы задачу решили. А затем это говно будет есчо лучше загружать систему, куда заинфектится. Хороший ход, учитывая что на разработку не потрачены деньги.

-----
vx




Ранг: -26.7 (нарушитель), 7thx
Активность: 0.060.08
Статус: Участник

Создано: 23 февраля 2019 13:40
· Личное сообщение · #21

Данный топик со стороны выглядит каким-то немного искуственным(ИМХО). Но отдельные фразы, в сообщениях действительно заслуживают внимания.

f13nd пишет:
Когда человек с мышлением специалиста сталкивается с проблемой, главный вопрос, которым он задается - "как?", для мышления менеджера больше характерен вопрос "кто?". Этот форум в основном для специалистов.


Хорошо сказано. Неплохой образец того, как грамотно, коротко и ясно сформулировать свою мысль. Запишу себе чтоб не забыть. Можно даже рядом с рекламой DVD эту фразу разместить. И это не ерничество.




Ранг: 338.5 (мудрец), 349thx
Активность: 2.112.42
Статус: Участник

Создано: 23 февраля 2019 13:57
· Личное сообщение · #22

sty

Главный вопрос всегда зачем", а как это уже детали. ТС столько времени дурит голову" своими вопросами.. это даже не вопросы, они ограничены модом, те ему нужно решение по ускорению на видеокартах в юм. Для кернел прав нет, поэтому это и не интересно. Для игр например такие задачи не встают, так как там нет проблемы доступа(ограничения прав). Это всё блэк. А ТС думает что самый хитрый и никто ничего не понял.

Модерам:

Тему покилять вовсе. Это разработка вредоносного софта.

-----
vx




Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 23 февраля 2019 15:02 · Поправил: Alchemistry
· Личное сообщение · #23

difexacaw пишет:
ля игр например такие задачи не встают, так как там нет проблемы доступа(ограничения прав). Это всё блэк. А ТС думает что самый хитрый и никто ничего не понял.

Модерам:

Тему покилять вовсе. Это разработка вредоносного софта.


У него какие-то дурацкие темы оформления, которые нормальным людям фиолетовы. У тебя документально подтвержденный поделиями аверов (с того же вирустотала) "софт", который определяется как вредоносный. Может это твои темы надо все покилять, потому что это разработка вредоносного софта? Еще и с пруфами



Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 23 февраля 2019 15:24 · Поправил: Jurim
· Личное сообщение · #24

difexacaw пишет:
Главный вопрос всегда зачем", а как это уже детали. ТС столько времени дурит голову" своими вопросами.. это даже не вопросы, они ограничены модом, те ему нужно решение по ускорению на видеокартах в юм. Для кернел прав нет, поэтому это и не интересно. Для игр например такие задачи не встают, так как там нет проблемы доступа(ограничения прав). Это всё блэк. А ТС думает что самый хитрый и никто ничего не понял.


У страха глаза велики.... Чего вы только не напридумали. Погуглите про 2D ускорение и на разных форумах увидите мои попытки найти решение данного вопроса уже на протяжении 2 лет. Из них 1,5 года я потратил на доказательства что АМД дрова - полное говно.

За 9 лет существования Виндовс 7 - никто проблему с ускорением в классической теме так и не решил. Я думаю это не так просто.... если вообще возможно. И за 2 года идей, который 100% все решат я слышал массу - но ни одна не сработала!

Если rmn знает как это сделать - то я попросил сделать, раз он понимает что нужно делать.



Ранг: 158.6 (ветеран), 123thx
Активность: 0.140.5
Статус: Участник

Создано: 23 февраля 2019 15:37 · Поправил: rmn
· Личное сообщение · #25

Jurim пишет:
За 9 лет существования Виндовс 7 - никто проблему с ускорением в классической теме так и не решил

Потому что нет никакой проблемы с ускорением. Сраный столбик загрузки цп диспетчера задач отрисовывается с мерцанием потому что видюха не вывозит? Самому не смешно? Да эта параша в vga-режиме нормально отрисуется, если правильно реализовать. И то, что поделие от Самой МС абсолютно не говорит о качестве. Их индусы в оффлайновой мсдн даже стиль WS_CLIPCHILDREN главному окну не поставили, а это вообще пиздец, тут даже на квантовой видеокарте все будет мерцать при ресайзах.

Code:
  1. static BOOL WINAPI EnumProc (HWND hwnd, LPARAM param)
  2. {
  3.     DWORD style;
  4.  
  5.     style = (DWORD)GetWindowLong (hwnd, GWL_EXSTYLE);
  6.     SetWindowLong (hwnd, GWL_EXSTYLE, style | WS_EX_COMPOSITED);
  7.  
  8.     return TRUE;
  9. }
  10.  
  11. void BoostWindows (void)
  12. {
  13.     EnumWindows (EnumProc, 0l);
  14. }

Вступайте и конпелируйте



Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 23 февраля 2019 15:50
· Личное сообщение · #26

rmn дай ему бинарь, а то следующие 1.5-2 года будут темы как это скампелировать)



Ранг: 7.2 (гость), 7thx
Активность: 0.360.19
Статус: Участник

Создано: 23 февраля 2019 15:56
· Личное сообщение · #27

rmn

Спасибо. Я так понял, этот код должны были вставить разработчики в свои программы, чтобы они не глючили в классике Win 7....

Но я не пишу программы, я пользуюсь готовыми. Мне нужно, чтобы Ваша программа запускалась вместе с ОС. Отслеживала все, что запускается и присваивала запущенным программам флаг WS_EX_COMPOSITED дабы они проходили двойную буферизацию и не глючили. Причем WS_EX_COMPOSITED нужно присваивать только оконным программам, а которые запускаются в полноэкранном режиме таких проблем не имеют.

Можете сделать такое?



Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 23 февраля 2019 16:02
· Личное сообщение · #28

Jurim
Ты совсем не самостоятельный? И пользуешься готовым, но не знаешь про элементарный планировщик? Засунуть это туда и выставить интервал не? Оставим за скобками настолько это решит твою проблему (очень сомневаюсь что решит и что тебе понравится то что ты увидишь)), но серьезно, ты ничего не умеешь, ничего не понимаешь, ничего не хочешь делать сам и только и делаешь что клянчишь и спамишь на форуме по реверсу. Это тебе не рубоард, не форум твоей домашней сети, мб ты уже поймешь это наконец?

| Сообщение посчитали полезным: sefkrd

Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 23 февраля 2019 16:12
· Личное сообщение · #29

difexacaw пишет:
Это разработка вредоносного софта.

Клерк, ты что ли соревнуешься, кто шизее всех на свете? Вот сейчас ловко обошёл ТСа, гыгы.
Хотя покиллять топик это здравая мысль.



Ранг: 158.6 (ветеран), 123thx
Активность: 0.140.5
Статус: Участник

Создано: 23 февраля 2019 16:13
· Личное сообщение · #30

Jurim пишет:
Но я не пишу программы, я пользуюсь готовыми.

Тогда ты пришел не туда.


. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 11 . 12 . >>
 eXeL@B —› Дневники и блоги —› Патч Windows 7 для включения графического ускорения в классической теме
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати