Тема: DirectX 11
Показать сообщение отдельно
Старый 25.12.2008, 22:20      #23
camarik
Местный
По умолчанию многопоточный рендеринг

Цитата:
Новые возможности DirectX 11: многопоточный рендеринг Возвращаясь к нашему разговору о новом в DirectX 11, который, как многие из вас заметили, уже присутствует в сборке Windows 7 build 6956, стоит отметить, что Microsoft опровергла заявление Бена Базарика (Ben Basaric), продукт-менеджера Windows, который не так давно сказал, что Microsoft не успевает завершить работу над DirectX 11 к релизу Windows 7. Ну а сегодня мы поговорим о еще одной ключевой особенности нового API - многопоточного рендеринга.
Спойлер
Хотя многопоточный рендеринг сложно назвать новой частью графического конвейера, это невероятно важная особенность DirectX 11. Она становится еще более важной, если вы посмотрите на ее потенциал с расчетом на портирование этих усовершенствований на аппаратные средства класса DirectX 10 при помощи обновления драйверов.
Сегодня на рынке преобладают двуядерные CPU, хотя четырехядерные модели становятся все более доступными для геймеров и энтузиастов, поэтому в ближайшем будущем четырехядерные процессоры заменят своих двуядерных собратьев, став в области процессоров стандартом де-факто. Учитывая этот факт, возникает резонный вопрос, почему DirectX до сих пор не поддерживает многопоточный рендеринг. Справедливости ради стоит отметить, что и AMD, и Nvidia уже работали над многопоточными драйверами, однако успех этих начинаний был ограничен тем, что API в конечном счете сводил все к одному потоку.
Мы поговорили на эту тему с многими разработчиками - некоторые из них придумывали способы использования дополнительных ядер, в то время как другие изо всех сил пытались извлечь больше производительности и часто оставляли простаивать эти дополнительные ядра. Сегодня таких проблем становится все меньше, поскольку разработчики стали думать по поводу распараллеливания потоков, но все еще есть такие сценарии, когда приложение сильно ограничивается возможностями CPU.
mt1_s.jpgmt2_s.jpgmt3_s.jpg

Спойлер
К счастью, с приходом DirectX 11 ситуация должна коренным образом изменится, и Microsoft сделает возможным получение выгоды от использования этих функций на аппаратном обеспечении DirectX 10. Команды разработчиков соответствующих драйверов в AMD и Nvidia должны будут проделать определенный комплекс работ, чтобы осуществить поддержку этих функций в своих драйверах, но как только они это сделают для DX11, им не составит большого труда перенести эту поддержку и в DX10.
mt4_s.jpgmt5_s.jpgmt6_s.jpg
Microsoft удалось достичь этого путем разбиения устройства Direct3D на три отдельных интерфейса: Device, Immediate Context (прямой контекст) и Deferred Context (отложенный контекст). Каждый из них назначается на поток, поэтому благодаря интерфейсам Device и Deferred Context на задачи, стоящие в очереди Immediate Context или потока обработки, может быть назначено больше одного потока.
(ограничение миниатюр) продолжение=>

Последний раз редактировалось camarik; 25.12.2008 в 22:22.
camarik вне форума Пол: Мужчина   Ответить с цитированием Вверх