Драйверы
Может показаться, что здесь мы расскажем о драйверах, идущих в стандартном комплекте с новой системой. Но нет, тут пойдет речь об изменениях в архитектуре некоторых категорий драйверов. Это важно, поскольку предоставляет производителям оборудования новые возможности, которые те, полагаем, рано или поздно реализуют. Хотя и стандартных драйверов в Windows 7 предостаточно. К примеру на нашем тестовом ноутбуке без проблем автоматически установились драйвера для чипсета, Wi-Fi и Bluetooth контроллеров. Да и довольно часто к устройствам подходят драйвера от Windows Vista, что говорит о близком родстве ядер обеих систем. Впрочем, некоторых категорий устройств это может не коснуться. К примеру ТВ-тюнеров.
Процесс работы PBDA
Сегодня для ТВ-тюнеров применяется архитектура Broadcast Driver Architecture или BDA. В Windows 7 ее заменили на Protected Broadcast Driver Architecture или PBDA. Чем же таким "защитили" ТВ-тюнеры? Конечно же DRM. Теперь вроде как будет меньше проблем с воспроизведением защищенного DRM-контента. Ну и несколько доработали обмен данными между Windows Media Center и ТВ-тюнером. Главное теперь чтобы эти нововведения не сказались на качестве работы уже существующих продуктов.
Была улучшена поддержка многоядерных процессоров и многопроцессорных систем. Windows Vista может работать эффективно только с 32 ядрами. Если их больше, то системе становится сложнее переключаться между потоками. Windows 7 способна справиться с 256 ядрами. Да, сегодня пока еще сложно встретить компьютер с 32 ядрами, но если речь идет о рабочей станции дизайнера трехмерной графики, где установлено четыре процессора Intel Core i7, то число логических ядер достигнет 32 благодаря технологии HyperThreading. Да и не за горами первые восьмиядерные и даже шестандцатиядерные чипы.
Еще одна фича, реализованная на уровне драйверов — поддержка команды TRIM. Это будет полезно для тех, кто использует в своей работе SSD-накопители. Нет, Microsoft пока еще не разработала специальную файловую систему для флэш-памяти, но TRIM довольно полезная вещь. Подробнее о ней читайте в нашем блоге. Впрочем, кое-какие изменения с флэш-памятью были произведены. В частности теперь стало возможно использовать USB-флэшку или карточки SD, CF и другие, отформатированные под файловой системой exFAT, для работы функции ReadyBoost. Про exFAT мы тоже уже ранее писали в статье "Флэш-память. Прошлое, настоящее и будущее".
Microsoft наконец-то осознала растущую популярность сотовых сетей третьего поколения, так называемых WWAN. Windows 7 теперь поддерживает WWAN-адаптеры. Нет, драйвера для всех присутствующих устройств этого класса добавлены не были, но теперь имеется стандартный интерфейс для их настройки. Ранее производителям приходилось создавать собственные утилиты для конфигурации.
Сцена, сгенерированная с использованием DirectX 11
Теперь поговорим о графической подсистеме Windows 7. Прежде всего с выходом этой ОС в нашу жизнь войдет DirectX 11. Пока еще нет видеокарт, поддерживающих его, но они должны будут появиться чуть ли не прямо с официальным анонсом "семерки". Что даст новый API? Прежде всего тесселяцию, многопоточный рендеринг и поддержку GPGPU (математических вычислений при помощи графических процессоров). Но вместе с этим будет модернизирована и архитектура графических драйверов.
Windows Vista была представлена вместе с WDDM 1.0 (Windows Display Driver Model). Это принципиально новая система позволила создать интерфейс Aero и предоставить новые возможности по отрисовке интерфейса. Правда, и недостатков у нее хватает. WDDM 1.1, представленная в Windows 7, частично решает проблемы предшественницы.
Потребление памяти WDDM 1.0 и WDDM 1.1
Интерфейс Aero достаточно красивый и предоставляет любопытную функциональность: всякие разные полупрозрачные окна, режим трехмерного просмотра 3D Flip и так далее. Но вот оперативной памяти это потребляет много. Desktop Window Manager (DWM), заменивший собой библиотеки GDI/GDI+ из Windows XP, хранит по две копии экрана для каждого окна. Одна находится в памяти видеокарты, а вторая в оперативной памяти. Теперь представим, что у вас экран с разрешением 1680х1050 при глубине цвета 32 бита и открыто 10 окон. Простым перемножением получаем почти 7 Мбайт на окно или 70 Мбайт на их десяток.
WDDM 1.1 решает эту проблему самым простым образом — Microsoft доработала DWM таким образом, что теперь достаточно хранить копию текстуры для каждого окна только в памяти видеокарты. Впрочем, тут есть одно маленькое, однако крайне важное, "но" — работает эта функция только на DirectX 10 видеокартах, то есть на сериях ATI Radeon HD 2000, NVIDIA GeForce 8000 и более поздних. Но тут же встает вопрос с нетбуками, которые пока еще все поголовно оснащаются чипсетами Intel 945GSE со встроенным DirectX 9 ядром Intel GMA950. Тут только одно остается — вообще отказаться от Aero, что, вероятно, Microsoft и сделает в "специальной", нетбучной, версии Windows 7. Единичные модели на базе NVIDIA Ion тут погоды не сделают, как и решения на базе платформ AMD или VIA — таких тоже мало.
Еще одна модернизация WDDM 1.1 – возможность установки драйверов от разных производителей видеокарт. Таким образом теперь можно установить в систему видеокарты от ATI и NVIDIA и они будут работать две сразу (но не совместно). А кроме этого позволено одним драйверам через WDDM задействовать вычислительные блоки соседствующей видеокарты на базе GPU от другого производителя. Правда, только в рамках вычислений GPGPU. Извращенный вариант CrossFire или SLI соорудить не удастся.
Помимо всего прочего WDDM 1.1 добавила новые возможности по масштабированию изображения, а также решила проблему с доступом к GDI-стеку. Раньше только одно приложение могло получить доступ к локальной копии изображения окна, а теперь — нет. Теперь это решается уже на уровне видеокарты. Правда, опять же, только в режиме работы DirectX 10.
Работа с GDI-стеком в Windows Vista и Windows 7
Ну и напоследок осталось рассказать о замене GDI. Формально этот API был устранен в Windows Vista, а замены для него не нашлось. С его помощью отображается вся 2D-графика в Windows. Так что приходилось использовать Direct3D для отрисовки двухмерных изображений. Windows 7 предлагает работать с Direct2D. Это одновременно и замена для DirectDraw, ранее входившего в состав DirectX, и GDI/GDI+.