Обновление 12 мая 2006 г.
После публикации данной статьи возникла куча вопросов в комментариях, в том числе заданных в довольно грубом тоне. Я еще раз попрошу уважаемых читателей – давайте будем уважать друг друга и не будем друг друга оскорблять.
После некоторых переговоров на AeroXP.net, поиска по Google и чтению старых и забытых документов, я составил картину, разъясняющую что такое Vector Glass, зачем оно нужно и др.
Сегодня в Windows Vista прозрачность организуется за счет прозрачных PNG-файлов, обрабатывающихся Windows Presentation Foundation (WPF или Avalon), в свою очередь, если не ошибаюсь, использующим пиксельные шейдеры для эффекта Blur (размытие под прозрачностью). Минусы этой системы состоят в основном в проблемах при больших разрешениях, когда возможности PNG себя исчерпывают.
Vector Glass представляет собой прозрачность обрабатывающуюся и генерирующуюся непосредственно векторными (вершинными) шейдерами, что решает ряд проблем. Именно такая прозрачность, организованная на уровне программируемых вершинных шейдеров, была заявлена при разработке Windows Longhorn, но так и не была реализована в Vista.
Отсюда всплывает кодовое имя Diamond – ранее ходили слухи о новом революционном интерфейсе (Diamond, Project M и др.) и теперь все это снова и снова начинают «перелопачивать». Меня несколько удивило, что на таком уровне разработки Vista (после Beta 1 и СТР-программы) еще возможно изменение способа рендеринга прозрачности. В ответ на это меня уверили, что ничего революционного тут нет и, возможно, данная возможность все-таки будет реализована.
За время выяснения всего этого, были найдены еще некоторые ключи в Vista 5308:
[HKEY_CURRENT_USER\Software\\Avalon.Graphics]
«DisableHWAcceleration»=dword:00000000
«SkipDriverCheck»=dword:00000001
«SkipDriverDateCheck»=dword:00000001
«UseReferenceRasterizer»=dword:00000001
«RPCAvalon»=dword:00000000
«RecordAvalonFile»=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics\DISPLAY1]
[HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics\GoodDrivers]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\Tier00010000]
«MemorySize»=dword:00020000
«PixelShaderVersion»=dword:00000003
«VertexShaderVersion»=dword:00000003
[HKEY_LOCAL_MACHINE\SOFTWARE\\Avalon.Graphics\Tier00020000]
«MemorySize»=dword:00020001
«PixelShaderVersion»=dword:00000003
«VertexShaderVersion»=dword:00000003
Все это вызывает лишь домыслы, например есть теория, что Tier0002 и будет Diamond, а Tier0001 то, что мы видим сегодня. Или наоборот, Tier0001 – сегодняшний вариант, Tier0002 – Vector Glass и Tier0003 – Diamond. Все это, однако, лишь неподтвержденные версии и слухи.
Вот эти ключи:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics]
«EnableDebugControl»=dword:00000000
«UseDX9LText»=dword:00000000
«BreakOnUnexpectedErrors»=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\DISPLAY1]
«PixelStructure»=dword:00000064
«GammaLevel»=dword:00000003
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\Tier00010000]
«MemorySize»=dword:00020000
«PixelShaderVersion»=dword:00000003
«VertexShaderVersion»=dword:00000003
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\Tier00020000]
«MemorySize»=dword:00020001
«PixelShaderVersion»=dword:00000003
«VertexShaderVersion»=dword:00000003
Внимание! После добавления этих ключей создается ощущение, что Vista пытается запустить векторную прозрачность, но это не удается. Возможно, нужна особая комбинация значений или оборудования.
Источник: http://chris123nt.com/
Tags: accel, mac, Windows Vista