AIMP Forum

AIMP для Windows => Skin Editor / Skin Engine => Вопросы => Topic started by: Kibermanick on June 20, 2016, 16:43:32

Title: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on June 20, 2016, 16:43:32
Мутное стекло и размытие. Как работает? Почему тупит? Объясните пожалуйста принципы работы данного элемента.

Как то оно не правильно работает.

И почему тупят объекты которые находятся поверх мутного стекла?
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Artem on June 20, 2016, 16:48:00
https://www.aimp.ru/blogs/?p=547
Вы знакомы с алгоритмами размытия? У меня используется размытие по Гаусу.
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Kibermanick on June 20, 2016, 16:51:38
https://www.aimp.ru/blogs/?p=547
Вы знакомы с алгоритмами размытия? У меня используется размытие по Гаусу.

Не знаком. Но например, размытие в Windows 7/10 и Mac OS 10.10 работает вообще без нареканий, хотя в хакентош оно сильное.

А в AIMP оно как то сильно тупит.
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Artem on June 20, 2016, 17:00:26
Не знаком. Но например, размытие в Windows 7/10 и Mac OS 10.10 работает вообще без нареканий, хотя в хакентош оно сильное.

Aero Glass работает иначе (у нас оно тоже тупить не будет). В 10-ке размытия не встречал. Во всяком случае, в операционках, оно обрабатывается скорее всего на GPU.
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Kibermanick on June 20, 2016, 17:05:41
Aero Glass работает иначе (у нас оно тоже тупить не будет). В 10-ке размытия не встречал. Во всяком случае, в операционках, оно обрабатывается скорее всего на GPU.

А что мешает сделать также? Я где то уже писал что у меня все это дело работает быстрее на гпу. Например тот же Open CL или как его. Зачем все гнать напрямую через ЦП?
И всякие выкаты с краев экрана тоже.
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Kibermanick on June 20, 2016, 17:21:27
Все графические эффекты должны обрабатываться в гпу, а потом уже в цп. Гпу для того и создан. Конечно если у вас процессор от интел в котором встроено не плохое видео, то можно и обойтись без гпу. А если амд, где зачастую встроенной графики вообще нет. Я конечно могу ошибаться, я не специалист и не программист, но по моему логично.
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Kibermanick on June 20, 2016, 17:23:48
...И почему тупят объекты которые находятся поверх мутного стекла?
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Artem on June 20, 2016, 18:34:31
А что мешает сделать также? Я где то уже писал что у меня все это дело работает быстрее на гпу.  Например тот же Open CL или как его.

Квалификация. Время.

Зачем все гнать напрямую через ЦП?

Затем, что так принято в Win32 API.

...И почему тупят объекты которые находятся поверх мутного стекла?

Потому, что для их отрисовки нужно перерисовывать мутное стекло.
Так для отрисовки фона этих элементов нужно
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Kibermanick on June 20, 2016, 18:36:33
Затем, что так принято в Win32 API.

Звучит не правдоподобно. Тот же aero glass в Windows 7 x86 как тогда работает.
Title: Re: Мутное стекло или размытие. Как работает? Почему тупит?
Post by: Kibermanick on June 20, 2016, 18:38:13
Квалификация. Время.

А вы что один все пишете?
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on October 08, 2016, 20:20:38
А что там с размытием в Windows 10? Оно же там есть, почему в AIMP-е нет?
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Artem on October 08, 2016, 20:50:27
А что там с размытием в Windows 10? Оно же там есть, почему в AIMP-е нет?

Что в 10, что в Vista, системное размытие можно применять в качестве "нулевого фона" окна.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on December 26, 2016, 16:54:14
Что в 10, что в Vista, системное размытие можно применять в качестве "нулевого фона" окна.

Что-то не пашет.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Artem on December 26, 2016, 20:31:05
Что-то не пашет.

В смысле? Что и как вы проверяете?
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on December 27, 2016, 12:16:26
В смысле? Что и как вы проверяете?

Ни в скаченных скинах, ни в собранных мною, не работает системное размытие.

ps:: windows 10 anniversary update
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Artem on December 27, 2016, 15:36:37
Ни в скаченных скинах, ни в собранных мною, не работает системное размытие.

Стоп. Причем здесь мутное стекло и размытие фона под окном? Речь шла о первом, я сказал, что такого API в Windows для подсистемы GDI нет, а то размытие, которое есть - работает только для фона под окнами. Что же касается второго вопроса - этот момент я бы и сам хотел узнать, почему API, которое работало в 7-ке, в новых виндах не работает, хотя в 10-ке кое-где все-таки есть размытие фона под окнами. Пока я ответа на этот вопрос не знаю
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Soolo on December 27, 2016, 15:42:20
Что же касается второго вопроса - этот момент я бы и сам хотел узнать, почему API, которое работало в 7-ке, в новых виндах не работает, хотя в 10-ке кое-где все-таки есть размытие фона под окнами. Пока я ответа на этот вопрос не знаю
MS специально отключили, вернее заменили размытие полной непрозрачностью.
А какие глубинные причины, проблема с производительностью, "под стиль не подходило" или левая пятка зачесалась - тут остаётся только гадать.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on December 27, 2016, 15:57:10
Стоп. Причем здесь мутное стекло и размытие фона под окном? Речь шла о первом, я сказал, что такого API в Windows для подсистемы GDI нет, а то размытие, которое есть - работает только для фона под окнами. Что же касается второго вопроса - этот момент я бы и сам хотел узнать, почему API, которое работало в 7-ке, в новых виндах не работает, хотя в 10-ке кое-где все-таки есть размытие фона под окнами. Пока я ответа на этот вопрос не знаю

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

Хреново если они убрали такую возможность.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Artem on December 27, 2016, 17:20:01
Не знаю причем здесь мутное стекло, я же написал, размытие в 10-ке,

Так мы вроде обсуждали мутное стекло, тема вроде так называется
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on May 22, 2017, 13:19:52
Что же касается второго вопроса - этот момент я бы и сам хотел узнать, почему API, которое работало в 7-ке, в новых виндах не работает, хотя в 10-ке кое-где все-таки есть размытие фона под окнами. Пока я ответа на этот вопрос не знаю

Я тут статейку нашел, может пригодиться:

http://withinrafael.com/adding-the-aero-glass-blur-to-your-windows-10-apps/
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Artem on May 22, 2017, 14:15:34
Я тут статейку нашел, может пригодиться:

http://withinrafael.com/adding-the-aero-glass-blur-to-your-windows-10-apps/

Спасибо!
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on May 22, 2017, 14:30:57
Спасибо!

Че работает?
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Artem on May 22, 2017, 20:01:24
Че работает?

Проверил - нет, на Win32 App не завелось. А вот на UWP App завелось.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on May 22, 2017, 20:45:31
Проверил - нет, на Win32 App не завелось. А вот на UWP App завелось.

Эх, какая жаль.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on May 22, 2017, 21:01:04
Проверил - нет, на Win32 App не завелось. А вот на UWP App завелось.

Win32 наверное уже староват. А что Win64 тоже не работает, или это без разницы? А что бы переехать на Win64 или UWP, нужно писать программу с нуля, да? Скоро Fluent Design System под едет, и сдается мне только на UWP.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Artem on May 22, 2017, 21:18:15
Win32 App - это классическое приложение, использующее Win32 API. C разрядностью ОС это никак не коррелирует. И, кстати, AIMP - именно 32-битное приложение.
UWP - отстой, я пробовал под него писать.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Kibermanick on May 22, 2017, 21:42:17
Win32 App - это классическое приложение, использующее Win32 API. C разрядностью ОС это никак не коррелирует. И, кстати, AIMP - именно 32-битное приложение.
UWP - отстой, я пробовал под него писать.

Все так плохо? Кстати, UWP вроде серьезно обновили или хотят обновит, типа UWP 2.0. Скоро еще проводник на UWP 2.0 под едет.
Title: Re: Мутное стекло или размытие. И вообще вся графика. Как работает? Почему тупит?
Post by: Artem on May 23, 2017, 00:14:12
Все так плохо? Кстати, UWP вроде серьезно обновили или хотят обновит, типа UWP 2.0. Скоро еще проводник на UWP 2.0 под едет.

Ну-ну, пусть сначала переведут. А еще лучше - что-нибудь посерьезнее, чем проводник.
Title: Re: Графика. Как работает? Почему тупит?
Post by: Kibermanick on July 18, 2017, 11:58:53
Кстате про ГПУ. Что на счет OpenGl или OpenСl? Вроде как оно служит что бы разгрузить ЦП.
Title: Re: Графика. Как работает? Почему тупит?
Post by: Artem on July 18, 2017, 12:48:14
OpenGL для плеера?
Title: Re: Графика. Как работает? Почему тупит?
Post by: Kibermanick on July 18, 2017, 13:00:58
OpenGL для плеера?

Для скин движка. OpenGL же через гпу работает, вроде. Ну фотошоп же использует OpenGL.

В описании сказано что он для написания приложений использующих двухмерную и трехмерную графику.
Title: Re: Графика. Как работает? Почему тупит?
Post by: Kibermanick on July 18, 2017, 13:03:13
А че, было бы прикольно если бы AIMP мог использовать эффект параллакса.
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on February 13, 2018, 23:51:33
Стало любопытно, а аниматор работает как APNG?
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Artem on February 13, 2018, 23:54:15
Стало любопытно, а аниматор работает как APNG?

Разве APNG чем-то выдающимся отличается в плане рендеринга разных кадров?
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on February 14, 2018, 00:04:44
Разве APNG чем-то выдающимся отличается в плане рендеринга разных кадров?

Я хз просто любопытно используются ли в аимпе что то такое если да то какое. Я тут сравнение нашел там какой то FLIF весма не плох: http://flif.info/animation.html
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Artem on February 14, 2018, 00:05:43
У нас свой формат текстур, оптимизированный для быстрой загрузки и рендеринга
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on February 14, 2018, 00:08:01
У нас свой формат текстур, оптимизированный для быстрой загрузки и рендеринга

Понятно.)
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on June 13, 2018, 00:27:57
Вопросы:

Что больше грузит систему, очень много мелких элементов или мало элементов с огромными текстурами?

Как происходит отрисовка, послойно? Если послойно то как, с низу в верх или сверху вниз(я имею введу ось Z)?

Дают ли статичные скрипты дополнительную нагрузку?
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on June 13, 2018, 00:46:15
Еще вопрос: Обложка при открытии программы вся загружается в оперативную память? Все масштабы от 100 до сколько есть, или из файла выгружается только использующийся масштаб? Я знаю что проект скина вроде как компилируется во что то монолитное и его нельзя преобразовать обратно, можно ли читать только части файла?

Если файл скина помещается в оперативку весь. Может было бы эффективнее создать этакий файл архив, в котором скомпилированы все масштабы в отдельные файлы и выгружать только нужные. Хотя тогда будет дублироваться логика, может логику в отдельный файл. Ну это так, мысли в слух. Я не программист и таких тонкостей не знаю. Не кидайтесь какахами, просто любопытно. ;D
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Artem on June 13, 2018, 08:17:50
Что больше грузит систему, очень много мелких элементов или мало элементов с огромными текстурами?

Как происходит отрисовка, послойно? Если послойно то как, с низу в верх или сверху вниз(я имею введу ось Z)?

Дают ли статичные скрипты дополнительную нагрузку?

1. Не знаю, не замерял, но предполагаю, что чем больше площадь покрытия, тем больше "тормозит". Т.е. если текстура 32х32, но она растягивается на 200х200, то по скорости это будет так же, как если бы текстура была сразу 200х200.

2. Да, послойно. Сверху вниз, естественно.

3. Скрипты работают в том же потоке, что и весь UI. Соответственно, если скрипт будет тяжелый - он будет забирать на себя ЦП.

Еще вопрос: Обложка при открытии программы вся загружается в оперативную память? Все масштабы от 100 до сколько есть, или из файла выгружается только использующийся масштаб? Я знаю что проект скина вроде как компилируется во что то монолитное и его нельзя преобразовать обратно, можно ли читать только части файла?

Если файл скина помещается в оперативку весь. Может было бы эффективнее создать этакий файл архив, в котором скомпилированы все масштабы в отдельные файлы и выгружать только нужные. Хотя тогда будет дублироваться логика, может логику в отдельный файл. Ну это так, мысли в слух. Я не программист и таких тонкостей не знаю. Не кидайтесь какахами, просто любопытно. ;D

1. Загружается вся, все масштабы. Т.к. в винде одновременно может быть несколько масштабов - на одном мониторе один, на другом - другой. Программа должна максимально быстро реагировать на смену масштаба при перетаскивании с одного монитора на другой.

2. Есть проблемы с использованием оперативной памяти?
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on June 13, 2018, 10:04:28
Спасибо за ответ.

2. Да, послойно. Сверху вниз, естественно.

То есть сначала обрабатываются ближайшие элементы а потом те что под ними? Я думал наоборот.

2. Есть проблемы с использованием оперативной памяти?

Есть странность. При переключении обложек AIMP использует очень много памяти, например если включить скин "Pandemic" и переключится на скин 4к "алфа Kibtech 2.8", AIMP потребляет за 1,2 гб памяти. И потребление держится на таком уровне пока не кликнешь куда нибудь в обложку.

Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Artem on June 13, 2018, 10:27:24
То есть сначала обрабатываются ближайшие элементы а потом те что под ними? Я думал наоборот.

Наоборот. У нас, видимо, разные понятия о списке объектов. Да и иначе рендерить в принципе нельзя.

Есть странность. При переключении обложек AIMP использует очень много памяти, например если включить скин "Pandemic" и переключится на скин 4к "алфа Kibtech 2.8", AIMP потребляет за 1,2 гб памяти. И потребление держится на таком уровне пока не кликнешь куда нибудь в обложку.

А суммарно распакованные (в BMP 32-бит формате) текстуры сколько весят?


Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on June 13, 2018, 11:45:52
А суммарно распакованные (в BMP 32-бит формате) текстуры сколько весят?

Почему в BMP? У меня все текстуры в PNG, а половина из них вообще отсутствует(я использую заливку контейнера или панели), битность их я не знаю но рисовались они в 8-ми битном режиме фотошопа, вроде свойства говорят что глубина 32. Суммарный вес текстур экспортированных из проекта составляет: "Размер: 24,3МБ; На диске: 52МБ". Что это еще за "на диске", это как то связанно с размером кластера?
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Artem on June 13, 2018, 11:47:52
Почему в BMP? У меня все текстуры в PNG, а половина из них вообще отсутствует(я использую заливку контейнера или панели), битность их я не знаю но рисовались они в 8-ми битном режиме фотошопа, вроде свойства говорят что глубина 32. Суммарный вес текстур экспортированных из проекта составляет "Размер: 24,3МБ; На диске: 52МБ". Что это еще за "на диске", это как то связанно с размером кластера?

Потому, что плеер работает исключительно с BMP, и в памяти скин занимает +/- столько, сколько BMP-шки на диске. Да, "на диске" связано с выравниванием по кластерам.
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on June 13, 2018, 12:07:32
Потому, что плеер работает исключительно с BMP, и в памяти скин занимает +/- столько, сколько BMP-шки на диске. Да, "на диске" связано с выравниванием по кластерам.

BMP же не поддерживает прозрачность, а еще он весит много. То есть создается карта скина в BMP, такая ОГРОМНАЯ и бескомпромиссная? Блин, а если бы у гауге текстура оставалась в PNG то было бы это легче для процессора? Просто у меня вечно проблема с этим элементом, если сделаешь больше двух то все начинает тормозить, особенно если размер больше чем 150х150.
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Artem on June 13, 2018, 12:58:20
BMP же не поддерживает прозрачность, а еще он весит много. То есть создается карта скина в BMP, такая ОГРОМНАЯ и бескомпромиссная? Блин, а если бы у гауге текстура оставалась в PNG то было бы это легче для процессора? Просто у меня вечно проблема с этим элементом, если сделаешь больше двух то все начинает тормозить, особенно если размер больше чем 150х150.

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

С Black_AVP мы проводили эксперимент с бобинами, идея была в том, что плеер держит всю текстуру в PNG и распаковывает только нужный "кадр". При таком подходе существенно экономилась память на крупных скинах, однако FPS проседал в 4-5 раз.
Title: Re: Графика. Как работает? Почему тупит? Говорим про графику.
Post by: Kibermanick on July 05, 2018, 17:47:01
Мне тут мысль в голову пришла. Можно ли открывать UWP окно одновременно с классическим, и сделать чтобы одно было под другим и копировало его размер? Это я про размытие фона как в семерке, сделать такую подмену. Допилить такую болванку для десятки.