Проблемы с анимацией Aero
Johny-electric, да, это видимо просто так кажется...
Lico :
federalstormer, какой бред.
"Заметьте, что дерганье начинается в момент, когда окна приобретают 100% прозрачность"
100% прозрачность - это когда окна не видно )
"Не зря же МС честно сказали, что ДМ теперь работает в ДХ11, железа для которого еще нет."
Где это сказано? Поиском порылся не нашел
"Т.е. скорее всего новая технология (или точнее наше старое железо) просто не умеет анимировать масштабирование при 100% непрозрачности."
Как крайзис в HD - легко, а как просто окно отмасштабировать - так всё, старое железо.
Дело в том, мой друг, что не все изображения одинаковые. Есть например векторные, которые рассчитываются по мат. формулам, есть растровые, которые никак не рассчитываются, а тупо содержат информацию. Так вот. Любой человек, который хоть отдаленно сталкивался с комп. анимацией понимает, что при работе 3Д игрушки растровые изображения (тобишь текстуры не масштабируются, а вывод изображения идет описанием математической модели, в которой текстура всегда неизменна, а сама модель является просто математической формулой )
На сегодняшний день масштабирование растра в принципе невозможно физически. Поясняю проще. Растр - это газета.
Кинуть газету - гауно вопрос, описал модель полета, написал формулу рассчета от точек растра до камеры (образно)запустил и получил Кризис хоть в Хд, хоть в блурей. Только вот на выходе получаются именно растровые по сути картинки, которые в простонародье именуются фреймами. А задача съема и вывода фреймов - это принципиально другой момент. Физически другой процесс . Выше есть неплохая программа(спс Джонни), которая наглядно может показать насколько изнасилуется комп, выводя это даже в 30 фпс. А ведь, по сути это мало чем отличается от того, каким образом работает Аэро. Вначале собирается в растр, затем выводится в виде анимации. Часть формулой, в которой учтено что растр будет корявый как бабушка, и поэтому он еле виден, затем - последняя фаза, про которую я и говорил.
Я конечно не знаю, принципов по которым сделан ДВМ, но я знаю точно, что все из того, что составляет Аэро, не написано шрифтом и не задано в значениях цвета - это растровые картинки.
Именно это одна из причин того, что Аэро жрет текстурную память видеокарты, и именно поэтому владельцы слабых компов так любят классические темы, т.к. для обработки трех десятков мат. значений для описания интерфейса проводника никаких ресурсов в принципе не нужно.
Именно поэтому, я и сказал, что если окно вылезло в 100 непрозрачность до того как раскрылось до конца, то никакой анимации там не будет, будет именно рывок из точки А в Б.
А насчет ДХ 11, я говорил о новых WDDM 1.1., которые и составляют суть ДХ 11. А про это спокойно можно почитать на блоге разработчиков.
p.s. Не надо кидаться "бредом", уважаемый. Вы модератор или где?
Удачи.
Ну хорош уже спорить, шестая страница уже пошла. Я создавал эту тему в надежде вычислить кривой драйвер, ряд проблемных железяк и т.д., но даже не думал, что проблема то в самой системе анимации окон... Теперь, когда мы нашли причину, остается ждать вразумительного объяснения от МС по поводу изменений в анимации DWM. Я надеюсь, до выхода семерки МС расскажет об этом, ждем статью...
ЗЫ: повторю еще раз, новая анимация лично у меня не вызывает каких-либо негативных чувств. ИМХО, наоборот, в висте окна анимируются как-то "вяло", а в семерке сделано так, чтобы было моментально понятно, нажал я на кнопку, или нет (семерка же заточена под сенсорный ввод, а сенсорные панели нынешнего поколения еще далеки от идеала, и как многие заметили, не всегда корректно реагируют на нажатие). Так что я согласен с federalstormer...
federalstormer, Бугога
На сегодняшний день масштабирование растра в принципе невозможно физически
Тут на выходных на PHP писал небольшой хостинг картинок, так он у меня почему то очень легко и быстро масштабировал - сжимал и увеличивал картинки.
Именно это одна из причин того, что Аэро жрет текстурную память видеокарты, и именно поэтому владельцы слабых компов так любят классические темы, т.к. для обработки трех десятков мат. значений для описания интерфейса проводника никаких ресурсов в принципе не нужно.
Владельцы слабых компов любят классические темы, потому что думают, что их древний комп будет меньше тормозить. Мой дюрон что с аэро, что с классической темой, что с виндоус хп тормозит абсолютно одинаково.
p.s. Не надо кидаться "бредом", уважаемый. Вы модератор или где?
page.php?al=forumsrules
Если вы считаете, что действия Модераторов необоснованны, несправедливы или предвзяты, то вы имеете право написать жалобу Руководству проекта при помощи формы обратной связи.
Тут тоже непрозрачность 100%, и ничего, вполне нормальное плавное масштабирование
интересно, почему представители МС на их же хелп-сайте до сих пор ничего вразумительного не ответили...
Lico, как Вы сурово одновременно удаляете такую кучу файлов
Lico :
Тут тоже непрозрачность 100%, и ничего, вполне нормальное плавное масштабирование
Это наверное касается только закрытия окон...
Я вот прочитал то что Вы написали. И тут понятно что новая система анимации и всё такое, НО почему, например лично у меня, бывает иногда так что окна закрываются нормально без тормозов, хотя в большинстве случаев закрываются с тормозом.
То есть не совсем понятно, почему в 30% случаев кона закрываются без рывка, а в оставшихся 70% случаев закрываются с рывком?
P.S. Кстати ещё заметил что если например открыть любое окно, например окно проводника, и его закрыть то будет рывок и потом его тут же снова открыть и снова закрыть рывка не будет. (иногда что-бы избавится от рывка приходится проделывать эту процедуру несколько раз)
Конечно же я так не делаю каждый раз, просто заметил такую штуку.
и ведь некоторые даже после просмотра роликов (в т.ч. замедленной анимации) говорят что у них нет такого...
просить каждого записать видео?
А действительно, запишите каждый по коротенькому ролику, чисто открытие и закрытие окна в замедленном режиме. Тогда можно будет сравнить, а то одно только мое видео не показатель...
Johny-electric, напишите пожалуйста мини-мануал для тех, кто ничего не понимает в записи
чтобы записывали как у Вас, в полноэкранном разрешении с хорошей частотой кадров...
Lico :
Чего Вы меня преследуете Елы палы, мы говорим о технически разных вещах. Я например не понимаю ничего в PHP и поэтому не имею оснований с Вами спорить, а тем более ржать. Зато я 8 лет работаю с 3Д и анимацией. Поэтому, говорю свое мнение, основанное своих знаниях. И потом, я не истина в последней инстанции. Могу ошибаться в деталях.
А насчет того, почему Флип ровный - ответ может быть в том, что его оставили ровно таким как в Висте. Без изменений. Т.е. непрозрачным окно становится только на последнем фрейме. Потому дерганья и не заметно... Как вариант.
p.s. Я, уж простите органически не перевариваю наездов, а жаловаться - дело лузеров
federalstormer, я за Вами по темам не бегаю, пока что всё в рамках одной =)
Послушаем
А EVR (именно его использует WMP в Висте и 7) рендерит в DirectDraw поверхность. DWM весь рабочий стол "собирает" из таких DirectDraw поверхностей. По сути, рабочий стол - это 3-х мерная модель (хотя и выглядит она плоской), где текстурами являются те самые DirectDraw поверхности. При этом, финальный рендеринг рабочего стола производится непрерывно в реальном времени. Если какая-то из "текстур" изменила свое содержимое, то это сразу же отображается на экране.
Разве в наше время нельзя масштабировать трехмерную модель, с наложенной текстурой?
По флипе прозрачность вообще не используется.
Freto :
Johny-electric, напишите пожалуйста мини-мануал для тех, кто ничего не понимает в записи
чтобы записывали как у Вас, в полноэкранном разрешении с хорошей частотой кадров...
Я записывал программой Super Screen Recorder, но она платная. Из опенсорсных (Open Source), т.е. бесплатных могу посоветовать программу
Johny-electric, спасибо, если народу не лениво будет, выложу видео скоро.
Этот рывок в анимации окна вовсе не является рывком, или лагом, или тормознотостью видяхи или чего бы то ни было. Просто текстура, которая затем исчезает в плавной анимации, в начальной фазе закрытия окна рендерится размером чуть меньше, чем оригинальное окно. Это и дает эффект "рывка". На рисунке ниже - на первом плане начальная фаза анимации окна. На заднем плане - границы оригинального окна.
Если бы начальный фрейм анимации был по размерам аналогичен оригинальному окну, никакого рывка не было бы.
yorikson :
Если бы начальный фрейм анимации был по размерам аналогичен оригинальному окну, никакого рывка не было бы.
да... возможно Вы правы. Но если так, то Мелкософтофцы просто схалтурили в очередной раз... Надеюсь они пофиксят этот баг через WinUpdate, хотя можно было бы это сделать ещё раньше, на стадии тестирования!