1.
toober:где вы здесь увидели что-то, требующее перерисовки, и превосходящее по площади 1/4 экрана?
Площадь экрана в 1/4 как-раз занимает "вертушка". Она вся будет подвергаться перерисовке как-раз... об этом позже. Винил должен вращаться(и cover), штанга двигаться. не берём в расчет обложки внизу... они тоже как-то перерисовываются... и плей-лист тоже). Динамика однако!
И причём это скоро надоест! Захочется вертушку во всей своей красе на весь монитор! Волшебную кнопочку. Что-б разворачивала только вертушку на весь монитор
И вот оно - минимально 3/4 монитора. Ещё, если честно я не понял Вашего высказывания :
toober:совокупным разрешением 480*270 пикселей (в случае с fHD монитором)
Вроде как оно было 1920 х 1080 этих самых пикселей. Что вы увидите размером 480*270 на таком экране?
2.
toober:Дальше - больше. Как известно всем нам, за отрисовку 2D объектов в том числе отвечает видеокарта. Даже за окошки windows и т.д.
Вы совсем недавно присоединились к Нашему сообществу. На то у Вас были свои личные причины. По этому для того, что-бы Вы имели представление
о данном аудио плеере (именно аудио) и его концепции небольшой экскурс:
Foobar предоставляет неограниченные возможности в плане доступа, сортировки, фильтров, выборке, Вашей аудио коллекции. Foobar'у в этом нет равных (причём в стандартной установке). Но своём стандарте в плане интерфейса "из коробки" он имеет очень скудный интерфейс. Строгий и лаконичный.Краткость - сестра таланта! И это Павловскому удалось на все 100% (Павловский - это автор сего ПО).
Но человек такая сущность, что его всегда что-то не устраивает...
Тем не менее есть SDK (software development kit — комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операционных систем и прочих платформ). Соответственно все плагины (читай дополнения) для расширения возможностей плеера пишутся на С+ (на чём написана большая часть OS Windows) с использованием MSVS (Microsof Visual Studio и SDK. Как-никак "мелкомягкие" монополист в этой сфере.). Почти всё... Но не всё...(И приятно это осознавать, что есть UIHaсks, VU Meter...)
Так вот... Все винтажные скины (Имею в виду только те, которые сделал сам: Пионер и Техникс) существуют благодаря одному дополнению - WSH Panel Mod
Что такое WSH Panel Mod? Это компонент, который обеспечивает доступ к WSH Windows из Foobar. Язык: JScript или VBScript.Что-то видели подобное на вэб-страницах? Я видел. с использоанием HTML5 или flash.
WSH Panel Mod умеет работать в плане графики только с GDi/GDi+
https://ru.wikipedia.org/w/index.php?title=GDI&stable=1Насколько мне известно, для аппаратного ускорения для GDI/GDI+ пока ничего не сделано (ссылка выше). По этому Ваше высказывание
не соответствует действительности. Foobar не исключение. А жаль...
toober:Но предположим, что рендеринг осуществляется силами CPU. Что же получаем? Получаем, что 60 раз в секунду процессору нужно загонять и вытаскивать из оперативки картинки, совокупным разрешением 480*270 пикселей (в случае с fHD монитором). Предположим невероятное. Эти картинки обладают совокупным "весом" в 1 Мб. Невероятно. Но допустим.
Рендеринг осуществляется силами CPU (Процесcором). Извините, пока не научились работать с DirectX через JScript с вовлечением в это процесс видеокарты. 60 раз в секунду - можно и больше вообще-то... Это уже прерогатива возможностей процессора Вашего компьютера!
toober:Получаем, что 60 раз в секунду процессору нужно загонять и вытаскивать из оперативки картинки
Загонять не нужно столько раз. Операции записи - чтения с диска очень критичны по времени(тем более 60 раз в секунду). Поэтому загоняется в память только один раз... При старте скина. Дальше - только при изменении размера окна. Вообще при фиксированом размере отпадает множество проблем. Теперь немного расчётов на примере монстра Пионера...
toober:Предположим невероятное. Эти картинки обладают совокупным "весом" в 1 Мб. Невероятно. Но допустим.
77 файлов в формате PNG каждый по 1,1 Мб примерно = 85 Мб. Грузим их в память одним махом (в Техниксе немного по другому, по этому видим картинку и индикатор, чего нет в Пионере...). Для того, что-бы оставались прозрачные области
выполняется преобразование 60 раз/сек текущей картинки (вернее текущего кадра, и это минимум и постоянно), причем каждая в памяти (уже не PNG, а BITMAP - bmp 24 bit) и занимает уже 3,87 Мб х 77 итого 298 Мб
298 Мб в лучшем случае. О каких невероятных 1 Мб Вы рассуждаете?
Теперь прибавьте сюда обложки внизу(WSH CowerFlow) и плей-лист.
toober:3. Наиболее затратным в плане ресурсов действием является (!!!при условии отсутствия в системе полноценной хорошей звуковухи!!!) ресемплинг и декодирование звуковых файлов. Ничто другое.
Эксперимент...
Сравните потребляемые ресурсы у стандартной установки Foobar, со скином Техникса. Вы будете в шоке, насколько заблуждаетесь.
И это ещё один повод повнимательней присмотреться к данному плееру
toober:Вполне допускаю, что сами средства foobar и/или используемые интерфейсные библиотеки не дают возможности сделать что-то подобное. Лишь хочу отметить, что принципиально это возможно
Всё можно сделать. Написать плагин в виде вертушки для Foobar, использующий все возможности 3d рендеринга GPU и прочих технологий виртуализации... Только вот никто не торопится этим заняться... Поэтому будем исходить не из того, что можно принципиально сделать, а из того что сделано