AIMP Forum

Разное => Предложения (архив) / Suggestions (archive) => Архив / Archive => Реализовано в AIMP v5.0X / Implemented in AIMP v5.0X => Topic started by: Artem on January 29, 2020, 15:46:25

Title: Производительность скин-движка
Post by: Artem on January 29, 2020, 15:46:25
А какие у нас сейчас есть скины, которые требуют оптимизации скин-двжижка?
Title: Re: Производительность скин-движка
Post by: Black_AVP on January 29, 2020, 17:26:34
А какие у нас сейчас есть скины, которые требуют оптимизации скин-двжижка?
Все скины, где есть крупная анимация с высокой частотой.
Скины с многослойной структурой, особенно, где используется (или меняется) прозрачность.
Скины с перемещением компонентов (скриптами).
Title: Re: Производительность скин-движка
Post by: Zhenya on January 29, 2020, 20:08:43
А какие у нас сейчас есть скины, которые требуют оптимизации скин-двжижка?

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

Ещё:
Что-то с вкладками не так - если быстро провести мышкой по большому количеству вкладок сверху вниз, то порядок затухания вкладок будет обратный - снизу вверх (ну и наоборот то же самое). Хорошо заметно на приличной ширине вкладок.
Плюс ещё замирает дисплей визуализации во время фейдинга вкладок.
Title: Re: Производительность скин-движка
Post by: Artem on January 29, 2020, 20:22:53
Все скины, где есть крупная анимация с высокой частотой.

Тут вряд ли без GPU что-то получится.

Скины с многослойной структурой, особенно, где используется (или меняется) прозрачность.
Скины с перемещением компонентов (скриптами).

Какие, например?
Title: Re: Производительность скин-движка
Post by: Black_AVP on January 29, 2020, 21:03:13
Какие, например?
С многослойными структурами проблемы практически везде, особенно где есть анимация и поверх неё что-то ещё присутствует. Вот, в последнем скине (https://www.aimp.ru/forum/index.php?topic=64075.0) столкнулся с этим. В нём над многостраничной группой расположен контейнер, причём прозрачный с двумя текстовыми метками, которые появляются только в начале каждого трека. Если вызвать страницу, как на скриншоте со спектрумами и гауге (они все фреймовые) то вся эта анимация начинает сильно тормозить особенно на слабых машинках. Пришлось этот контейнер принудительно скрывать после исчезновения меток, хотя в нём всё прозрачно.

Перемещение компонентов тоже весьма напрягает процессор. Во вложение эксперимент, с так называемой, цветомузыкой, тут рандомно перемещаются панели с графикой и меняется их прозрачность. На моём железе, если окно визуализации растянуть хотя бы до 500х500 пикс. проц загружен полностью.
Title: Re: Производительность скин-движка
Post by: Artem on January 29, 2020, 21:57:18
Конкретно в данном скине тормозить BlendingMode, если его выставить в режим по умолчанию - скорость взлетает в 5 раз (и это на моей многоядерной машине).
Title: Re: Производительность скин-движка
Post by: Zhenya on January 29, 2020, 23:02:10
А какие у нас сейчас есть скины, которые требуют оптимизации скин-двжижка?

— A4 (https://www.aimp.ru/?do=catalog&rec_id=832) со спектрумом в фоне главного окна максимально загружает одно ядро. При открытии выезжающего списка плейлистов интерфейс подтормаживает.
— FLAT|DARK (https://www.aimp.ru/?do=catalog&rec_id=869) сильно подтормаживает, если повключать всякие опции в скине.
— Ora Mulih (https://www.aimp.ru/?do=catalog&rec_id=614) нагружает процессор до 75% (как?) при прокрутке плейлиста за «бегунок» полосы прокрутки, если включить фоном плейлиста обложку с размытием в настройках скина. Если выключить размытие, то нагрузка на порядок меньше (8%). Но обложка размывается же один раз, но по нагрузке на ЦП как-будто обложка размывается при каждой прокрутке плейлиста.
Title: Re: Производительность скин-движка
Post by: Artem on January 29, 2020, 23:38:06
— FLAT|DARK (https://www.aimp.ru/?do=catalog&rec_id=869) сильно подтормаживает, если повключать всякие опции в скине.
— Ora Mulih (https://www.aimp.ru/?do=catalog&rec_id=614) нагружает процессор до 75% (как?) при прокрутке плейлиста за «бегунок» полосы прокрутки, если включить фоном плейлиста обложку с размытием в настройках скина. Если выключить размытие, то нагрузка на порядок меньше (8%). Но обложка размывается же один раз, но по нагрузке на ЦП как-будто обложка размывается при каждой прокрутке плейлиста.

Тут виновато размытие. Обложка размывается каждый раз при рендеринге, т.к. BluredGlass-элементы размывает фон под собой, а он может меняться.
Title: Re: Производительность скин-движка
Post by: Artem on January 29, 2020, 23:49:00
В A4 тоже размытие. В общем, пока получается, что тормозят исключительно фильтры
Title: Re: Производительность скин-движка
Post by: Black_AVP on January 30, 2020, 07:44:17
Конкретно в данном скине тормозить BlendingMode, если его выставить в режим по умолчанию - скорость взлетает в 5 раз (и это на моей многоядерной машине).
Пробовал поочерёдно отключать в скрипте перемещение и прозрачность, на моём i3 в любом случае загрузка процессора 50..70%, если окно растянуть на пол-экрана. Тормозов, правда меньше, чем когда оба параметра меняются (координаты и прозрачность).

В A4 тоже размытие.
Тут размытие именно спектрума грузит проц, если его отключить, размытие кавера под ним нагрузки почти не добавляет.
Title: Re: Производительность скин-движка
Post by: Zhenya on January 30, 2020, 14:05:44
Тут виновато размытие. Обложка размывается каждый раз при рендеринге, т.к. BluredGlass-элементы размывает фон под собой, а он может меняться.

В FLAT|DARK вроде нет размытия.

Как повторить низкий FPS с FLAT|DARK:
1. Максимизировать главное окно.
2. Включить обложку альбома в настройках скина.
3. Включить Fade-React Effect в режиме Fancy.
4. Переключиться на вкладку Main и включить воспроизведение.

Ещё по FLAT|DARK:
1. Максимизировать главное окно.
2. Включить дисплей визуализации в настройках скина.
3. Включить визуализацию CoR's Aorta.
4. Переключиться на вкладку Main главного окна.
5. Перезапустить программу — сильные подтормаживания при анимации сверху громкости, совмещённой с индикатором уровня сигнала.

Если отключить сглаживание визуализации в настройках AIMP, то подтормаживаний нет.

В A4 тоже размытие. В общем, пока получается, что тормозят исключительно фильтры

Максимальная нагрузка и без включения размытия в настройках скина. Достаточно включить только спектрум и максимизировать окно.
Активно пользоваться скином (открывать список плейлистов сбоку или даже просто провести по кнопкам для фейдинга) — частота кадров ощутимо проседает. Частота кадров и так на глаз меньше с максимизированным главным окном, чем с минимальным размером окна.



Вообще, на мой взгляд, есть проблемы производительности с отображением с высокой частотой кадров больших динамических областей, например: спектрум, индикатор уровня сигнала, фейдинг кнопок.
Ещё были жалобы на производительность максимизированного скина по умолчанию в 4K — тормозила даже прокрутка в фонотеке. Ту тему не нашёл.
Title: Re: Производительность скин-движка
Post by: Black_AVP on January 30, 2020, 14:48:24
Как повторить низкий FPS с FLAT|DARK:
А чем FPS измерить?
Title: Re: Производительность скин-движка
Post by: Zhenya on January 30, 2020, 14:51:44
А чем FPS измерить?

Глазами, только так :)
Title: Re: Производительность скин-движка
Post by: Black_AVP on January 30, 2020, 14:59:03
Глазами, только так :)
:) Так визуализации, подобные Аорте у меня, к примеру, в полноэкранном режиме ядро полностью загружают и сами себя тормозят даже на лёгких скинах.
Title: Re: Производительность скин-движка
Post by: Black_AVP on January 30, 2020, 15:10:40
Мысль такая посетила: а нельзя создать такой компонент для редактора скина, который показывал бы частоту обновления? На стадии отладки это помогло бы оптимизировать структуру скинов, оценить влияние на производительность тех или иных компонентов.
Артём, это реально?
Title: Re: Производительность скин-движка
Post by: Zhenya on January 30, 2020, 15:18:22
Мысль такая посетила: а нельзя создать такой компонент для редактора скина, который показывал бы частоту обновления? На стадии отладки это помогло бы оптимизировать структуру скинов, оценить влияние на производительность тех или иных компонентов.
Артём, это реально?

Я такое тоже предлагал как-то, каким-либо образом замерять производительность скина.
Title: Re: Производительность скин-движка
Post by: Artem on January 30, 2020, 15:40:17
Мысль такая посетила: а нельзя создать такой компонент для редактора скина, который показывал бы частоту обновления? На стадии отладки это помогло бы оптимизировать структуру скинов, оценить влияние на производительность тех или иных компонентов.
Артём, это реально?

В целом, реально. Только это не к редактору скинов, а скорее, в плеере надо делать. В редакторе рендерингу будет мешать окружение редактора.

Title: Re: Производительность скин-движка
Post by: Artem on January 30, 2020, 15:41:02
В FLAT|DARK вроде нет размытия.

Согласно коду - есть. Кто-то где-то дергает Blur-фильтр. Возможно, это тень у текста, не смотрел.

Как повторить низкий FPS с FLAT|DARK:
1. Максимизировать главное окно.
2. Включить обложку альбома в настройках скина.
3. Включить Fade-React Effect в режиме Fancy.
4. Переключиться на вкладку Main и включить воспроизведение.

Ещё по FLAT|DARK:
1. Максимизировать главное окно.
2. Включить дисплей визуализации в настройках скина.
3. Включить визуализацию CoR's Aorta.
4. Переключиться на вкладку Main главного окна.
5. Перезапустить программу — сильные подтормаживания при анимации сверху громкости, совмещённой с индикатором уровня сигнала.

Если отключить сглаживание визуализации в настройках AIMP, то подтормаживаний нет.

Максимальная нагрузка и без включения размытия в настройках скина. Достаточно включить только спектрум и максимизировать окно.
Активно пользоваться скином (открывать список плейлистов сбоку или даже просто провести по кнопкам для фейдинга) — частота кадров ощутимо проседает. Частота кадров и так на глаз меньше с максимизированным главным окном, чем с минимальным размером окна.



Вообще, на мой взгляд, есть проблемы производительности с отображением с высокой частотой кадров больших динамических областей, например: спектрум, индикатор уровня сигнала, фейдинг кнопок.
Ещё были жалобы на производительность максимизированного скина по умолчанию в 4K — тормозила даже прокрутка в фонотеке. Ту тему не нашёл.

Посмотрю.
Title: Re: Производительность скин-движка
Post by: Black_AVP on January 30, 2020, 15:48:58
... Только это не к редактору скинов, а скорее, в плеере надо делать. В редакторе рендерингу будет мешать окружение редактора.
Оценивать, конечно, в плеере. Про компонент для редактора подумалось, что его можно было бы удалять из скина при завершении отладки.
Title: Re: Производительность скин-движка
Post by: Artem on May 02, 2020, 20:46:22
Есть еще?
Title: Re: Производительность скин-движка
Post by: Hades on June 19, 2020, 17:07:54
Заметил что размытие обновляет себя даже если под ним ничего не меняется, но расположен элемент который может обновляться сам по себе, бегущая строка которая уместилась и не двигается. Полагаю из-за постоянного опроса на изменение содержимого. Можно было бы обновлять размытие только на срабатывание ивента изменения строки, однако это будет работать только когда фон статичен полностью и не отменяет факта, что скин отрисовывается на процессоре, скин движок должен быть перенесён на гпу и никакими ухищрениями тут не поможешь, к сожалению ???
Title: Re: Производительность скин-движка
Post by: Kibermanick on June 19, 2020, 17:27:22
А какие у нас сейчас есть скины, которые требуют оптимизации скин-двжижка?

Кстати я че вспомнил, на моем недоделанном скине Flexilis очень лагало переключение многостраничной группы в которой почти ничего нет да и ее размер не большой.


(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64182.0;attach=61414)


Title: Re: Производительность скин-движка
Post by: Kibermanick on June 19, 2020, 17:34:38
И еще сейчас я делаю скин где отображения одного мешает отображению другого, я про это уже писал но все же считаю что это надо пофиксить. Я про то что обработка события замораживает обработку смежного отображения какой либо активности элемента участвующего в событии, и не только.

Скажу прямо вот если например какой то элемент меняет положение следуя за мышью то пока курсор двигается то этот элемент превращается в статичный хотя должен меняться паралельно с перемещением.

хотя другие элементы тоже начинают тормозить пока курсор двигаеться.
Title: Re: Производительность скин-движка
Post by: Hades on June 19, 2020, 19:14:40
Кстати я че вспомнил, на моем недоделанном скине Flexilis очень лагало переключение многостраничной группы в которой почти ничего нет да и ее размер не большой.

Посмотрел у себя, лаги кнчн дикие, но позабавило другое. Твой скин грузит мой проц на ~50% когда развёрнут на весь экран, лагает при этом сильно.
Мой скин загружает чёт проц под 80% при этом размытия ощутимо больше но многостраничная группа не лагает.

Вопрос в самом деле на засыпку)

p.s. теперь ещё и задумался какого хера мой скин 800x480 грузит i5-4460 под завязку)

upd: бегущая строка до безобразия много жрёт ресурсов, не критично для хороших компьютеров, однако нагрузка ощутимая в купе с другими плюшками скина, тем же размытием. Обратные пики это остановка строки и обратное движение
(https://i.ibb.co/VtszRzw/off.png)
(https://i.ibb.co/SBxBFt7/on.png)
Моё предположение такой нагрузки ввиду полупрозрачной маски отсекающей текст по краям строки, ещё один камень в огород по переходу на гпу рендеринг)

(https://i.ibb.co/71xyvCB/image.png)
Title: Re: Производительность скин-движка
Post by: Black_AVP on June 19, 2020, 20:21:46
Kibermanick, Calley, а вы не могли бы выложить если не проекты, то хотя бы примеры имитирующие такие нагрузки на проц от бегущей строки и многостраничной группы?
Я пошарился по своим скинам (уж тяжёлых у меня хватает ;D), правда, бегущая строка осталась в главном окне только в двух, и в ней тоже есть слой-маска, растворяющая ей "хвосты". Однако заметного прироста нгрузки на процессор я не заметил: при выключенной строке - 2..3% при включённой - иногда 4% проскакивает. Это при том что прочей анимации в скине тоже хватает: вращающиеся бобины в кассете, большие стрелочные индикаторы, причём фреймовые.
Аналогично и с многостраничной группой. Есть скин, где её размеры составляют 1600 пикс., к тому же смена страниц происходит с анимацией, нагрузка на проц подскакивает только во время анимации до 20..24%, остальная анимация при этом заметно не тормозится.
Процессор всего лишь i3.  ???
Title: Re: Производительность скин-движка
Post by: Hades on June 19, 2020, 20:45:38
Kibermanick, Calley, а вы не могли бы выложить если не проекты, то хотя бы примеры имитирующие такие нагрузки на проц от бегущей строки и многостраничной группы?

Держи, только не бей за кривой в хлам проект)))
Title: Re: Производительность скин-движка
Post by: Kibermanick on June 19, 2020, 21:24:39
Kibermanick, Calley, а вы не могли бы выложить если не проекты, то хотя бы примеры имитирующие такие нагрузки на проц...

Ну у меня нагрузка одинакова, и в обычном виде, и в развернутом, и достигает она максимум 36%. У меня FX-8320e и думаю он будит понемощнее ваших Core i, разве что ядер больше.



Вот проект:
Title: Re: Производительность скин-движка
Post by: Black_AVP on June 19, 2020, 21:56:03
Посмотрел Lux&Nox. Можно, конечно, кое что в проекте оптимизировать, но не суть.
Бегущая строка сама по себе на нагрузку практически не влияет (у меня 1..3% на этом скине), виной всему блюр, коего в скине хватает. С блюром 9..12%. Больше всего грузят плагины визуализации, вместе с блюром - до 50%.
Title: Re: Производительность скин-движка
Post by: Hades on June 19, 2020, 22:06:08
Посмотрел Lux&Nox. Можно, конечно, кое что в проекте оптимизировать, но не суть.
Бегущая строка сама по себе на нагрузку практически не влияет (у меня 1..3% на этом скине), виной всему блюр, коего в скине хватает. С блюром 9..12%. Больше всего грузят плагины визуализации, вместе с блюром - до 50%.

Странно что нагрузка так разнится сильно, но да ладно. А блюр я оптимизирую, лень было тени рисовать вот и замутил на время псевдотень :D
Title: Re: Производительность скин-движка
Post by: Black_AVP on June 19, 2020, 22:29:21
Странно что нагрузка так разнится сильно...
А у вас не Win10 случайно? Дело в том, что когда я пробовал перейти на неё с семёрки, практически все скины стали весьма заметно тормозить, а на бобинники мои вообще смотреть было страшно (в них аниматоры 480х480) - сплошные дёрганья, а не вращение.

Flexilis, как я понял, проект не завершенный, но в том, что есть ни при каких манипуляциях нагрузки более 1..2% не замечено.
Title: Re: Производительность скин-движка
Post by: Hades on June 19, 2020, 22:47:03
А у вас не Win10 случайно?

Бл, да, она самая. Версия 2004
Title: Re: Производительность скин-движка
Post by: Black_AVP on June 19, 2020, 23:01:57
... У меня FX-8320e и думаю он будит понемощнее ваших Core i, разве что ядер больше.
У AMD и с ядрами не всё так просто - https://www.aimp.ru/forum/index.php?topic=21856.msg360929#msg360929
Title: Re: Производительность скин-движка
Post by: Artem on June 19, 2020, 23:46:15
Кстати я че вспомнил, на моем недоделанном скине Flexilis очень лагало переключение многостраничной группы в которой почти ничего нет да и ее размер не большой.

Посмотрю, когда буду заниматься оптимизацией.

Скажу прямо вот если например какой то элемент меняет положение следуя за мышью то пока курсор двигается то этот элемент превращается в статичный хотя должен меняться паралельно с перемещением.

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

Заметил что размытие обновляет себя даже если под ним ничего не меняется, но расположен элемент который может обновляться сам по себе

Да, скорее всего она проталкивает перерисовку не учитывая, что реального сдвига не произошло. Все-таки это легаси элемент, который уже почти нигде не используется




Title: Re: Производительность скин-движка
Post by: Artem on June 19, 2020, 23:47:09
Было бы здорово, если бы проектов было побольше. Я буду заниматься оптимизацией лишь после того, как сделаю все запланированные фичи в новой версии движка.
Title: Re: Производительность скин-движка
Post by: Artem on June 19, 2020, 23:51:22
Еще, загляните в эту тему: https://www.aimp.ru/forum/index.php?topic=65047.0
Title: Re: Производительность скин-движка
Post by: Artem on August 12, 2020, 08:23:10
Кстати я че вспомнил, на моем недоделанном скине Flexilis очень лагало переключение многостраничной группы в которой почти ничего нет да и ее размер не большой.

Тормозит из-за размытия фона. Этот эффект попадает в зону анимации. Сам алгоритм размытия будет ускорен по сравнению с текущей версией, но чуда ждать не стоит
Title: Re: Производительность скин-движка
Post by: Hades on August 12, 2020, 09:40:11
А возможно ли подключить библиотеку opengl и выборочно отрисовывать тяжёлые элементы? Например, отрисовывать размытие ею, а все остальные части скина которые в этом не нуждаются рисовать процессором
Title: Re: Производительность скин-движка
Post by: Artem on August 12, 2020, 10:21:30
А возможно ли подключить библиотеку opengl и выборочно отрисовывать тяжёлые элементы? Например, отрисовывать размытие ею, а все остальные части скина которые в этом не нуждаются рисовать процессором

Нет. https://www.aimp.ru/forum/index.php?topic=64080.msg403062#msg403062
Title: Re: Производительность скин-движка
Post by: Kibermanick on August 12, 2020, 14:47:38
Кстати я че подумал, можно ли как то упростить размытие с большой степенью размытия, типа при такой степени то что под размывалкой не особо нуждаеться в рендере с идеальным качеством. А вот размытие сильной степени весьма актуально сейчас, приходиться несколько размывалок друг над другом делать в максимальной степени размытия что влечет повышенную нагрузку.
Title: Re: Производительность скин-движка
Post by: Kibermanick on August 12, 2020, 15:00:35
У AMD и с ядрами не всё так просто - https://www.aimp.ru/forum/index.php?topic=21856.msg360929#msg360929

А да, это мне известно, в таком решении тоже есть логика просто оно себя не зарекомендовало. Суть в том что этот самый блок для вычислений с плавающей запятой не все время используется ядром и может простаивать иногда довольно долго без дела и поэтому они сделали один такой блок на каждые два ядра. Тут вопрос оптимизации софта под такое решение. Проблемы начинаются когда каждое ядро начинает обращаться к этим блокам и тут уже самим ядрам приходиться ждать и простаивать.
Title: Re: Производительность скин-движка
Post by: Artem on August 12, 2020, 19:36:36
Кстати я че подумал, можно ли как то упростить размытие с большой степенью размытия, типа при такой степени то что под размывалкой не особо нуждаеться в рендере с идеальным качеством. А вот размытие сильной степени весьма актуально сейчас, приходиться несколько размывалок друг над другом делать в максимальной степени размытия что влечет повышенную нагрузку.

Да, степень размытия можно увеличить. Есть пример, где вы несколько штук используете? И, если можно, скиньте проект в личку. Я попробую добиться такого же эффекта размытия другими методами
Title: Re: Производительность скин-движка
Post by: Black_AVP on September 13, 2020, 08:08:38
Столкнулся с проблемой в теме (https://www.aimp.ru/forum/index.php?topic=56358.0): на AIMP 4.60 этот скин работает нормально, а на 4.70 (b2225) анимация тормозит, причём в большей степени это заметно на стрелочных индикаторах, нежели на бобинах. Ядро процессора загружено полностью.
Title: Re: Производительность скин-движка
Post by: Artem on September 14, 2020, 08:17:56
Столкнулся с проблемой в теме (https://www.aimp.ru/forum/index.php?topic=56358.0): на AIMP 4.60 этот скин работает нормально, а на 4.70 (b2225) анимация тормозит, причём в большей степени это заметно на стрелочных индикаторах, нежели на бобинах. Ядро процессора загружено полностью.

Попробуй эту сборку:
https://yadi.sk/d/GyJVEG2Wv7VaQA
Title: Re: Производительность скин-движка
Post by: Black_AVP on September 14, 2020, 09:31:55
Спасибо, Артём. Теперь приемлимо, даже визуалку можно параллельно запустить, запас у проца остаётся.
Title: Re: Производительность скин-движка
Post by: Artem on September 14, 2020, 10:01:42
Спасибо, Артём. Теперь приемлимо, даже визуалку можно параллельно запустить, запас у проца остаётся.

Отлично!
Title: Re: Производительность скин-движка
Post by: Remoder on February 07, 2021, 21:10:09
Артем  ;) , а гипотетически возможно перенести скин движок в Godot Engine, или как то залинковать? Есть пример поддержки прозрачности окон, да и бесплатный и можно было бы в 3д замутить скины...
Title: Re: Производительность скин-движка
Post by: Artem on February 08, 2021, 08:07:40
Есть пример поддержки прозрачности окон

Покажите, впервые слышу, чтобы GPU-based контекст умел выводить графику поверх полупрозрачных окон.
Title: Re: Производительность скин-движка
Post by: Remoder on February 08, 2021, 10:07:40
https://github.com/godotengine/godot/pull/14622 даже видео в статье есть.
Title: Re: Производительность скин-движка
Post by: Artem on February 08, 2021, 10:25:21
Спасибо. Посмотрел код коммита - решение выглядит сомнительным:

Code: [Select]
glReadPixels(0, 0, wndsize.x, wndsize.y, GL_BGRA, GL_UNSIGNED_BYTE, data);
OS::get_singleton()->swap_layered_buffer();

На сколько я могу судить после поверхностного изучения: для этого режима рендеринг идет во временный буфер, потом уже из него берутся пиксели и выводятся на экран посредством UpdateLayeredWindow. Не знаю, как у OpenGL, но у DirectX в случае отрисовки на временный буфер сильно проседает производительность. Это первое. Второе: у меня сейчас узким местом является две вещи - размытие и как раз-таки UpdateLayeredWindow. Получается, что этот движок (теоретически) сможет решить только первую проблему.