AIMP Forum
AIMP for PC => Skin Editor, Skin Engine => Вопросы / Questions => Topic started by: Kibermanick on June 20, 2016, 16:43:32
-
Мутное стекло и размытие. Как работает? Почему тупит? Объясните пожалуйста принципы работы данного элемента.
Как то оно не правильно работает.
И почему тупят объекты которые находятся поверх мутного стекла?
-
https://www.aimp.ru/blogs/?p=547
Вы знакомы с алгоритмами размытия? У меня используется размытие по Гаусу.
-
https://www.aimp.ru/blogs/?p=547
Вы знакомы с алгоритмами размытия? У меня используется размытие по Гаусу.
Не знаком. Но например, размытие в Windows 7/10 и Mac OS 10.10 работает вообще без нареканий, хотя в хакентош оно сильное.
А в AIMP оно как то сильно тупит.
-
Не знаком. Но например, размытие в Windows 7/10 и Mac OS 10.10 работает вообще без нареканий, хотя в хакентош оно сильное.
Aero Glass работает иначе (у нас оно тоже тупить не будет). В 10-ке размытия не встречал. Во всяком случае, в операционках, оно обрабатывается скорее всего на GPU.
-
Aero Glass работает иначе (у нас оно тоже тупить не будет). В 10-ке размытия не встречал. Во всяком случае, в операционках, оно обрабатывается скорее всего на GPU.
А что мешает сделать также? Я где то уже писал что у меня все это дело работает быстрее на гпу. Например тот же Open CL или как его. Зачем все гнать напрямую через ЦП?
И всякие выкаты с краев экрана тоже.
-
Все графические эффекты должны обрабатываться в гпу, а потом уже в цп. Гпу для того и создан. Конечно если у вас процессор от интел в котором встроено не плохое видео, то можно и обойтись без гпу. А если амд, где зачастую встроенной графики вообще нет. Я конечно могу ошибаться, я не специалист и не программист, но по моему логично.
-
...И почему тупят объекты которые находятся поверх мутного стекла?
-
А что мешает сделать также? Я где то уже писал что у меня все это дело работает быстрее на гпу. Например тот же Open CL или как его.
Квалификация. Время.
Зачем все гнать напрямую через ЦП?
Затем, что так принято в Win32 API.
...И почему тупят объекты которые находятся поверх мутного стекла?
Потому, что для их отрисовки нужно перерисовывать мутное стекло.
Так для отрисовки фона этих элементов нужно
-
Затем, что так принято в Win32 API.
Звучит не правдоподобно. Тот же aero glass в Windows 7 x86 как тогда работает.
-
Квалификация. Время.
А вы что один все пишете?
-
А что там с размытием в Windows 10? Оно же там есть, почему в AIMP-е нет?
-
А что там с размытием в Windows 10? Оно же там есть, почему в AIMP-е нет?
Что в 10, что в Vista, системное размытие можно применять в качестве "нулевого фона" окна.
-
Что в 10, что в Vista, системное размытие можно применять в качестве "нулевого фона" окна.
Что-то не пашет.
-
Что-то не пашет.
В смысле? Что и как вы проверяете?
-
В смысле? Что и как вы проверяете?
Ни в скаченных скинах, ни в собранных мною, не работает системное размытие.
ps:: windows 10 anniversary update
-
Ни в скаченных скинах, ни в собранных мною, не работает системное размытие.
Стоп. Причем здесь мутное стекло и размытие фона под окном? Речь шла о первом, я сказал, что такого API в Windows для подсистемы GDI нет, а то размытие, которое есть - работает только для фона под окнами. Что же касается второго вопроса - этот момент я бы и сам хотел узнать, почему API, которое работало в 7-ке, в новых виндах не работает, хотя в 10-ке кое-где все-таки есть размытие фона под окнами. Пока я ответа на этот вопрос не знаю
-
Что же касается второго вопроса - этот момент я бы и сам хотел узнать, почему API, которое работало в 7-ке, в новых виндах не работает, хотя в 10-ке кое-где все-таки есть размытие фона под окнами. Пока я ответа на этот вопрос не знаю
MS специально отключили, вернее заменили размытие полной непрозрачностью.
А какие глубинные причины, проблема с производительностью, "под стиль не подходило" или левая пятка зачесалась - тут остаётся только гадать.
-
Стоп. Причем здесь мутное стекло и размытие фона под окном? Речь шла о первом, я сказал, что такого API в Windows для подсистемы GDI нет, а то размытие, которое есть - работает только для фона под окнами. Что же касается второго вопроса - этот момент я бы и сам хотел узнать, почему API, которое работало в 7-ке, в новых виндах не работает, хотя в 10-ке кое-где все-таки есть размытие фона под окнами. Пока я ответа на этот вопрос не знаю
Не знаю причем здесь мутное стекло, я же написал, размытие в 10-ке, если бы это было мутное стекло я бы так и написал.
Хреново если они убрали такую возможность.
-
Не знаю причем здесь мутное стекло, я же написал, размытие в 10-ке,
Так мы вроде обсуждали мутное стекло, тема вроде так называется
-
Что же касается второго вопроса - этот момент я бы и сам хотел узнать, почему API, которое работало в 7-ке, в новых виндах не работает, хотя в 10-ке кое-где все-таки есть размытие фона под окнами. Пока я ответа на этот вопрос не знаю
Я тут статейку нашел, может пригодиться:
http://withinrafael.com/adding-the-aero-glass-blur-to-your-windows-10-apps/
-
Я тут статейку нашел, может пригодиться:
http://withinrafael.com/adding-the-aero-glass-blur-to-your-windows-10-apps/
Спасибо!
-
Спасибо!
Че работает?
-
Че работает?
Проверил - нет, на Win32 App не завелось. А вот на UWP App завелось.
-
Проверил - нет, на Win32 App не завелось. А вот на UWP App завелось.
Эх, какая жаль.
-
Проверил - нет, на Win32 App не завелось. А вот на UWP App завелось.
Win32 наверное уже староват. А что Win64 тоже не работает, или это без разницы? А что бы переехать на Win64 или UWP, нужно писать программу с нуля, да? Скоро Fluent Design System под едет, и сдается мне только на UWP.
-
Win32 App - это классическое приложение, использующее Win32 API. C разрядностью ОС это никак не коррелирует. И, кстати, AIMP - именно 32-битное приложение.
UWP - отстой, я пробовал под него писать.
-
Win32 App - это классическое приложение, использующее Win32 API. C разрядностью ОС это никак не коррелирует. И, кстати, AIMP - именно 32-битное приложение.
UWP - отстой, я пробовал под него писать.
Все так плохо? Кстати, UWP вроде серьезно обновили или хотят обновит, типа UWP 2.0. Скоро еще проводник на UWP 2.0 под едет.
-
Все так плохо? Кстати, UWP вроде серьезно обновили или хотят обновит, типа UWP 2.0. Скоро еще проводник на UWP 2.0 под едет.
Ну-ну, пусть сначала переведут. А еще лучше - что-нибудь посерьезнее, чем проводник.
-
Кстате про ГПУ. Что на счет OpenGl или OpenСl? Вроде как оно служит что бы разгрузить ЦП.
-
OpenGL для плеера?
-
OpenGL для плеера?
Для скин движка. OpenGL же через гпу работает, вроде. Ну фотошоп же использует OpenGL.
В описании сказано что он для написания приложений использующих двухмерную и трехмерную графику.
-
А че, было бы прикольно если бы AIMP мог использовать эффект параллакса.
-
Стало любопытно, а аниматор работает как APNG?
-
Стало любопытно, а аниматор работает как APNG?
Разве APNG чем-то выдающимся отличается в плане рендеринга разных кадров?
-
Разве APNG чем-то выдающимся отличается в плане рендеринга разных кадров?
Я хз просто любопытно используются ли в аимпе что то такое если да то какое. Я тут сравнение нашел там какой то FLIF весма не плох: http://flif.info/animation.html
-
У нас свой формат текстур, оптимизированный для быстрой загрузки и рендеринга
-
У нас свой формат текстур, оптимизированный для быстрой загрузки и рендеринга
Понятно.)
-
Вопросы:
Что больше грузит систему, очень много мелких элементов или мало элементов с огромными текстурами?
Как происходит отрисовка, послойно? Если послойно то как, с низу в верх или сверху вниз(я имею введу ось Z)?
Дают ли статичные скрипты дополнительную нагрузку?
-
Еще вопрос: Обложка при открытии программы вся загружается в оперативную память? Все масштабы от 100 до сколько есть, или из файла выгружается только использующийся масштаб? Я знаю что проект скина вроде как компилируется во что то монолитное и его нельзя преобразовать обратно, можно ли читать только части файла?
Если файл скина помещается в оперативку весь. Может было бы эффективнее создать этакий файл архив, в котором скомпилированы все масштабы в отдельные файлы и выгружать только нужные. Хотя тогда будет дублироваться логика, может логику в отдельный файл. Ну это так, мысли в слух. Я не программист и таких тонкостей не знаю. Не кидайтесь какахами, просто любопытно. ;D
-
Что больше грузит систему, очень много мелких элементов или мало элементов с огромными текстурами?
Как происходит отрисовка, послойно? Если послойно то как, с низу в верх или сверху вниз(я имею введу ось Z)?
Дают ли статичные скрипты дополнительную нагрузку?
1. Не знаю, не замерял, но предполагаю, что чем больше площадь покрытия, тем больше "тормозит". Т.е. если текстура 32х32, но она растягивается на 200х200, то по скорости это будет так же, как если бы текстура была сразу 200х200.
2. Да, послойно. Сверху вниз, естественно.
3. Скрипты работают в том же потоке, что и весь UI. Соответственно, если скрипт будет тяжелый - он будет забирать на себя ЦП.
Еще вопрос: Обложка при открытии программы вся загружается в оперативную память? Все масштабы от 100 до сколько есть, или из файла выгружается только использующийся масштаб? Я знаю что проект скина вроде как компилируется во что то монолитное и его нельзя преобразовать обратно, можно ли читать только части файла?
Если файл скина помещается в оперативку весь. Может было бы эффективнее создать этакий файл архив, в котором скомпилированы все масштабы в отдельные файлы и выгружать только нужные. Хотя тогда будет дублироваться логика, может логику в отдельный файл. Ну это так, мысли в слух. Я не программист и таких тонкостей не знаю. Не кидайтесь какахами, просто любопытно. ;D
1. Загружается вся, все масштабы. Т.к. в винде одновременно может быть несколько масштабов - на одном мониторе один, на другом - другой. Программа должна максимально быстро реагировать на смену масштаба при перетаскивании с одного монитора на другой.
2. Есть проблемы с использованием оперативной памяти?
-
Спасибо за ответ.
2. Да, послойно. Сверху вниз, естественно.
То есть сначала обрабатываются ближайшие элементы а потом те что под ними? Я думал наоборот.
2. Есть проблемы с использованием оперативной памяти?
Есть странность. При переключении обложек AIMP использует очень много памяти, например если включить скин "Pandemic" и переключится на скин 4к "алфа Kibtech 2.8", AIMP потребляет за 1,2 гб памяти. И потребление держится на таком уровне пока не кликнешь куда нибудь в обложку.
-
То есть сначала обрабатываются ближайшие элементы а потом те что под ними? Я думал наоборот.
Наоборот. У нас, видимо, разные понятия о списке объектов. Да и иначе рендерить в принципе нельзя.
Есть странность. При переключении обложек AIMP использует очень много памяти, например если включить скин "Pandemic" и переключится на скин 4к "алфа Kibtech 2.8", AIMP потребляет за 1,2 гб памяти. И потребление держится на таком уровне пока не кликнешь куда нибудь в обложку.
А суммарно распакованные (в BMP 32-бит формате) текстуры сколько весят?
-
А суммарно распакованные (в BMP 32-бит формате) текстуры сколько весят?
Почему в BMP? У меня все текстуры в PNG, а половина из них вообще отсутствует(я использую заливку контейнера или панели), битность их я не знаю но рисовались они в 8-ми битном режиме фотошопа, вроде свойства говорят что глубина 32. Суммарный вес текстур экспортированных из проекта составляет: "Размер: 24,3МБ; На диске: 52МБ". Что это еще за "на диске", это как то связанно с размером кластера?
-
Почему в BMP? У меня все текстуры в PNG, а половина из них вообще отсутствует(я использую заливку контейнера или панели), битность их я не знаю но рисовались они в 8-ми битном режиме фотошопа, вроде свойства говорят что глубина 32. Суммарный вес текстур экспортированных из проекта составляет "Размер: 24,3МБ; На диске: 52МБ". Что это еще за "на диске", это как то связанно с размером кластера?
Потому, что плеер работает исключительно с BMP, и в памяти скин занимает +/- столько, сколько BMP-шки на диске. Да, "на диске" связано с выравниванием по кластерам.
-
Потому, что плеер работает исключительно с BMP, и в памяти скин занимает +/- столько, сколько BMP-шки на диске. Да, "на диске" связано с выравниванием по кластерам.
BMP же не поддерживает прозрачность, а еще он весит много. То есть создается карта скина в BMP, такая ОГРОМНАЯ и бескомпромиссная? Блин, а если бы у гауге текстура оставалась в PNG то было бы это легче для процессора? Просто у меня вечно проблема с этим элементом, если сделаешь больше двух то все начинает тормозить, особенно если размер больше чем 150х150.
-
BMP же не поддерживает прозрачность, а еще он весит много. То есть создается карта скина в BMP, такая ОГРОМНАЯ и бескомпромиссная? Блин, а если бы у гауге текстура оставалась в PNG то было бы это легче для процессора? Просто у меня вечно проблема с этим элементом, если сделаешь больше двух то все начинает тормозить, особенно если размер больше чем 150х150.
32-битный BMP поддерживает прозрачность, просто не все программы полноценно поддерживают 32-битные битмапы. PNG, как ни крути - это просто архив для BMP, плееру легче работать с BMP (т.к. не нужно тратить время на распаковку картинки при отрисовке). Почему именно у вас тормозит - сложно сказать, нужно смотреть. Влиять на скорость могут многие факторы, в т.ч. и банальное количество слоев.
С Black_AVP мы проводили эксперимент с бобинами, идея была в том, что плеер держит всю текстуру в PNG и распаковывает только нужный "кадр". При таком подходе существенно экономилась память на крупных скинах, однако FPS проседал в 4-5 раз.
-
Мне тут мысль в голову пришла. Можно ли открывать UWP окно одновременно с классическим, и сделать чтобы одно было под другим и копировало его размер? Это я про размытие фона как в семерке, сделать такую подмену. Допилить такую болванку для десятки.
-
Ну так что там по размытию фона нынче?
-
Ну так что там по размытию фона нынче?
Я обо всем доложил в блоге
-
Я имел введу размытие под плеером а не в его пределах
-
Я имел введу размытие под плеером а не в его пределах
Размытия в винде больше нет. В 10-ке есть акрилик, но он не поддерживает кастомные регионы, а значит для нас бесполезен.
-
А теоретически можно ли сделать свое? не обязательно полноценное, хватит лишь подгрузки картинки с рабочего стола, ее статичное размытие и запихивания ее на самый нижний слой по маске как это можно было раньше делать, только что бы не двигалась вместе с плеером, ну вы поняли я думаю, и получиться как обычная текстура но с позиционированием по другим координатам относительно монитора уже а не внутри границ плеера. как вам такое? кажется в 11 винде что то типа такого сделали.
-
А теоретически можно ли сделать свое? не обязательно полноценное, хватит лишь подгрузки картинки с рабочего стола, ее статичное размытие и запихивания ее на самый нижний слой по маске как это можно было раньше делать, только что бы не двигалась вместе с плеером, ну вы поняли я думаю, и получиться как обычная текстура но с позиционированием по другим координатам относительно монитора уже а не внутри границ плеера. как вам такое? кажется в 11 винде что то типа такого сделали.
Нет, свое сделать нельзя