Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1757 • Страница 78 из 88<  1 ... 75  76  77  78  79  80  81 ... 88  >
  Версия для печати (полностью) Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Member
Статус: Не в сети
Регистрация: 19.08.2010
Откуда: Прямо оттуда!
Фото: 0
Т.к. в теме Windows 10 обсуждение DirectX 12 является офтопиком, пишем о нём и будущих играх с ним здесь.
********************************************************************************************

О самом DirectX 12 и его "Feature Levels" (какие ВК и какой уровень DirectX 12 поддерживают).
Анонсированные игры: "Gears of War: Ultimate Edition (2016)" и "Deus Ex: Mankind Divided".
Более полный список: "Список игр с DirectX 12" (немецкий язык, но нужная табличка и так понятна).

*************************************************************************************
Одна "Игра в раннем доступе" уже вышла: "Ashes of the Singularity" (Steam).
FPS у DirectX 12 примерно в 2 раза выше по сравнению с DirectX 11:
Ashes of the Singularity: DX11 vs DX12 Benchmarks by DigitalFoundry (видео):

Другой тест от GameGPU - в нём прирост всего около 5%.
В общем пока всё неясно, и сама игра очень "сырая", её статус на 22.03.2016 - Beta.
*************************************************************************
"Правила хорошего тона" (Локальные Правила) этой темы:

ЧИТАЕМ, ПРЕЖДЕ ЧЕМ ПИСАТЬ!:
1) Для начала ознакомиться с Правилами Конференции.
2) Категорически запрещается использовать красный цвет в сообщениях - оставьте его для Модераторов и Куратора! Рекомендуется также не злоупотреблять остальными цветами.
3) Все односложные сообщения (типа: "Аналогично", "+1...", "У меня также") будут стираться без предупреждений.
4) "Шапка" темы будет исправляться как можно быстрее. Куратор всегда в курсе всех изменений. Уважайте и цените труд Куратора - не подгоняйте его!
5) Обсуждение действий Куратора в теме не допускаются! Для этого есть ЛС (Личные сообщения). Прежде, чем написать - советую всё обдумать. "Дыма без огня не бывает!"
6) Предложения и вопросы по "шапке" и FAQ темы принимаются в ЛС (Личные сообщения). В самой теме этого делать не нужно.
Спасибо за понимание! :writer:


Последний раз редактировалось Alex_Smile 22.03.2016 12:08, всего редактировалось 18 раз(а).
обновление статуса игры "Ashes of the Singularity"



Партнер
 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
Кстати, если тут кого-то эта проблема с ДХ12 драйверами АМД на старых ЦП действительно затрагивает, я бы порекомендовал попробовать пообщаться с их техподдержкой, я видел по крайней мере несколько случаев, когда от этого был толк. До сих пор склоняюсь к тому, что эта проблема - просто чья-то халатность


 

Member
Статус: Не в сети
Регистрация: 11.11.2013
Industrialice писал(а):
avtoelectrik на форуме Beyond3D разбирались с этим и пришли к выводу что поддержка есть, просто она сломана ещё в железе, уже ничего не сделать с программной стороны, чтобы от неё получить профит. Я не знаю что за ситуация с Паскаль на текущий момент, поддержка точно сломана в Максвелл 2

Разрабы 3д марк писали, что даже если максвелу и дать команду выполнить набор асинхронных шейдеров он их все равно выполняет последовательно. В паскале сделали костыль, что планировщик во время простоя подкидывает гпу новые вычислительные интсрукции (это вроде как примшн называется). Такой же костыль должен был быть и для максвела, но в силу каких-то причин так и не был реализован.

_________________
Intel Core i5 12400f, Asus PRIME b660m-k d4, DDR4 3200 CL19 16 gb RAM, Аsus DUAL RTX 3060TI, WD BLACK SN770 1TB, Windows 11 HOME


 

Member
Статус: Не в сети
Регистрация: 30.05.2009
Фото: 0
А когда без костыля будет в вольте?

_________________
Никто не сможет спрятаться от правды. И ничто не остановит то, что грядет. Ничто.


 

Member
Статус: Не в сети
Регистрация: 11.11.2013
wolfire писал(а):
А когда без костыля будет в вольте?

загадка, может вообще никогда

_________________
Intel Core i5 12400f, Asus PRIME b660m-k d4, DDR4 3200 CL19 16 gb RAM, Аsus DUAL RTX 3060TI, WD BLACK SN770 1TB, Windows 11 HOME


 

Member
Статус: Не в сети
Регистрация: 10.05.2011
Откуда: Москва
wolfire писал(а):
А когда без костыля будет в вольте?


Смотря что считать костылём. Async - тоже костыль, потому что AMD не в состоянии нормально загрузить видяху работой.


 

Advanced guest
Статус: Не в сети
Регистрация: 03.12.2004
knight_asd писал(а):
Разрабы 3д марк писали, что даже если максвелу и дать команду выполнить набор асинхронных шейдеров он их все равно выполняет последовательно. В паскале сделали костыль, что планировщик во время простоя подкидывает гпу новые вычислительные интсрукции (это вроде как примшн называется). Такой же костыль должен был быть и для максвела, но в силу каких-то причин так и не был реализован.

Какой еще костыль? Async дает буст потому, что в определенное время вычислительные ресурсы без него не используются, а с ним используются. Preemption - это не костыль, а механизм, запускающий что-то на выполнение заранее, неотъемлемое условие заметного ускорения от использования асинхронных вычислений. От того, как хорошо сделан preemption, зависит скорость переключения с одной задачи на другую. AMD им активно пользуется. Maxwell не поддерживает его аппаратно, он умеет только в сам async, т.е. запустить графику и несколько compute-задач на нем можно в параллель. При этом до запуска каждой следующей порции придется ждать выполнения самой долгой операции. Переключение с одной задачи на другую влечет заметные накладные расходы и не может происходить слишком часто, Maxwell должен завершить последний draw call до конца.. В итоге без хорошего планирования и предсказания в драйвере он скорее потеряет в скорости, т.к. вынужденный простой блоков увеличится. Действительно получатся выгоднее выполнить последовательно. Но у nvidia никогда и не было особых проблем загрузить GPU работой. Потому то их GPU и не отстают от аналогов AMD с более высоким числом gflops.
Pascal умеет сам на лету перераспределять ресурсы, отдавая освободившееся еще не закончившемуся процессу (maxwell продолжает считать зависший процесс только на том, что ему изначально было выделено планировщиком при запуске), заодно научился нормальному preemption - переключение доступно вплоть до уровня отдельных инструкций с заявленной задержкой не более 1/10000с.

_________________
Unfortunately for you, however, you are maidenless


 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
devl547 писал(а):
Async - тоже костыль, потому что AMD не в состоянии нормально загрузить видяху работой.

Ugh, этот аргумент используется снова и снова, снова и снова. Но критики он не выдерживает. НВ удаётся все блоки карты на 100% держать загруженными? Конечно же нет, пускай у них эффективность и выше
И такой сценарий использования async compute лишь 1 из возможных, они могут быть не только низкого приоритета( заполнять работой свободные блоки карты ), но и высокого, и могут быть использованы для выполнения какой-то срочной работы, например, если CPU нужно получить её результат от GPU. При использовании синхронных очередей, CPU придётся ждать, в типичном случае, гораздо дольше, прежде чем результат станет доступен


 

Member
Статус: Не в сети
Регистрация: 10.05.2011
Откуда: Москва
Industrialice писал(а):
НВ удаётся все блоки карты на 100% держать загруженными?


На 100% никто не может, даже Intel с HT и Sparc с 8 потоками на ядро.
Как и Async не может, о чём AMD прямо и заявляет в своих слайдах, потому что борьба за ресурсы и боттлнеки во все поля.

Другое дело, что без асинка у AMD фиговые шедулеры (как аппаратный, так и софтовый), которые сливают в рантайме хуанговским.
Вот и переложили с больной головы на здоровую - пусть разработчики игр сами долбаются с тем, чтоб видяхи работой загрузить.

Industrialice писал(а):
они могут быть не только низкого приоритета


Если говорить о приоритетах, то тогда ни одна видеокарта до GCN1.2 не умеет в нормальный асинк, ибо у них там QoS не пашет. О чём AMD тоже сама заявляла в контексте Kaveri vs Carrizo ;)


 

Advanced guest
Статус: Не в сети
Регистрация: 03.12.2004
Industrialice писал(а):
этот аргумент используется снова и снова, снова и снова. Но критики он не выдерживает. НВ удаётся все блоки карты на 100% держать загруженными? Конечно же нет, пускай у них эффективность и выше

100% недостижимы даже с async. Для AMD позор состоит в том, что старый maxwell без асинка загружен лучше, чем полярис с ним. На примере того же AoS смотрим теоретические спеки чипов и фактический fps.

_________________
Unfortunately for you, however, you are maidenless


 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
devl547 писал(а):
Вот и переложили с больной головы на здоровую - пусть разработчики игр сами долбаются с тем, чтоб видяхи работой загрузить.

То есть раньше на них это не перекладывали? Это в каком-то ДХ11, в котором нужно было читать бесчисленные мануалы по оптимизации, чтобы не спровоцировать кучу боттлнеков? На любых картах
4e_alex писал(а):
100% недостижимы даже с async. Для AMD позор состоит в том, что старый maxwell без асинка загружен лучше, чем полярис с ним. На примере того же AoS смотрим теоретические спеки чипов и фактический fps.

Речь не шла о 100% загрузке с асинк, сразу 2 человека неправильно интерпретировали мои слова. Речь была про то, что видеокарты сильно недозагружены как у НВ, так и у АМД. Асинк не будет магическим решением, которое сделает любую игру с ним страшнее Furmark, но с проблемой может существенно помочь
И это всё ортогонально идёт с моим поинтом, который в том, что от async compute с низким приоритетом могут получить прирост все, и это отличное добавление в API. Ранние провалы НВ в поддержке никак это не отменяют


 

Advanced guest
Статус: Не в сети
Регистрация: 03.12.2004
Часто переключать контекст туда-обратно - тоже не самая светлая идея, особенно на GPU. По слайду nvidia паскалю нужно менее 1/10000с на переключение. Это очень мало для GPU, но примерно в 100 раз хуже любого CPU (которые архитектурно лучше к этому приспособлены). Для GPU AMD цифр не нашел, но скорее всего где-то рядом с паскалем (или даже хуже из-за более низкой тактовой частоты).

_________________
Unfortunately for you, however, you are maidenless


 

Member
Статус: Не в сети
Регистрация: 10.05.2011
Откуда: Москва
4e_alex писал(а):
но примерно в 100 раз хуже любого CPU


У сандаля что-то в районе 1500ns на переключение, если не инвалидировать кэши.
У core2 пишут про 6000ns


 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
4e_alex писал(а):
Часто переключать контекст туда-обратно - тоже не самая светлая идея, особенно на GPU. По слайду nvidia паскалю нужно менее 1/10000с на переключение.

devl547 писал(а):
У сандаля что-то в районе 1500ns на переключение, если не инвалидировать кэши.
У core2 пишут про 6000ns

Асинхронные шейдеры с низким приоритетом должны использовать бесплатный context switch, с высоким приоритетом - preemption switch, который дорогой( 100 микросекунд - огромное количество времени, GPU или нет ). Асинхронные задачи с высоким приоритетом в другой категории, нежели с низким, если кто-то решил использовать их, а они будут исполнены как синхронные, скорее всего, результатом будет неприемлемая задержка. Тут реально может потребоваться фоллбек, в отличие от асинхронных с низким приоритетом, где отсутствие поддержки едва ли даст негативные эффекты помимо некоторого падения производительности( вместо увеличения )
Я кстати не уверен, что с высоким приоритетом всегда _обязаны_ использовать дорогой preemption, если её видеокарта поддерживает, возможно, тут есть варианты. Как-нибудь поищу информацию про это

Добавлено спустя 16 минут 48 секунд:
Industrialice писал(а):
Я кстати не уверен, что с высоким приоритетом всегда _обязаны_ использовать дорогой preemption, если её видеокарта поддерживает, возможно, тут есть варианты

Ну, очевидно, это решает производитель видеокарты. ДХ12 даёт только задать высокий приоритет и не даёт никаких гарантий. В некоторых случаях этот приоритет полностью игнорируется, задача выполняется как синхронная, что убивает вообще весь потенциал использования. При таком раскладе, вряд ли этот тип асинк компьют скоро в играх получит распространение


 

Advanced guest
Статус: Не в сети
Регистрация: 03.12.2004
Industrialice писал(а):
Асинхронные шейдеры с низким приоритетом должны использовать бесплатный context switch, с высоким приоритетом - preemption switch, который дорогой

Откуда взялось бесплатное переключение контекста? Каждый перескок - это простой SM/CU, хотя цифр особо никто не афиширует. Подозреваю, что высокоприоритетный preemption дороже, т.к. требует куда-то сбросить состояние прерванного потока, сохранить кеши, а потом все восстановить. Опять же нет никакой гарантии, что разработчик софта может или будет заморачиваться с загрузкой ресурсов больше/лучше разработчиков драйвера.
Industrialice писал(а):
Ну, очевидно, это решает производитель видеокарты. ДХ12 даёт только задать высокий приоритет и не даёт никаких гарантий.

Это правильно. Если приоритет не важен, то лучше, чтобы очередь выполнения определял драйвер.

_________________
Unfortunately for you, however, you are maidenless


 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
4e_alex писал(а):
Откуда взялось бесплатное переключение контекста? Каждый перескок - это простой SM/CU, хотя цифр особо никто не афиширует.

Вот тут, например, явно заявлено: "context switching is free – every cycle"
4e_alex писал(а):
Это правильно. Если приоритет не важен, то лучше, чтобы очередь выполнения определял драйвер.

Программист указывает максимальный приоритет( на выбор только 2, нормальный и высокий ), драйвер это просто игнорит и делает как захочет, выбирая долгий путь выполнения, в итоге ничего не работает так, как задумано. Я бы сказал, что это явно неправильно, но так сейчас может получаться
4e_alex писал(а):
Опять же нет никакой гарантии, что разработчик софта может или будет заморачиваться с загрузкой ресурсов больше/лучше разработчиков драйвера.

Ну что ж, им придётся постараться, чтобы получить производительность. Ничего принципиально не меняется в сравнении с DX11. На консолях всегда были низкоуровневые API и это преподносилось как возможность выжать из железа больше. Я не программировал для консолей, но разработчики с опытом кроссплатформенной разработки говорили, что на консолях API существенно ниже уровнем и ближе к железу, чем 12. DX12 низкоуровневый в сравнении с 11. Почему-то после его появления на ПК, при том, что он не сделал устаревшим 11, а просто был добавлен как альтернатива, появилось куча аргументов про то, что это не работа разработчиков. Хотя они её до этого десятками лет делали на консолях и сами просили о большем контроле на ПК


 

Advanced guest
Статус: Не в сети
Регистрация: 03.12.2004
Industrialice писал(а):
а консолях всегда были низкоуровневые API и это преподносилось как возможность выжать из железа больше.

Xbox использует DirectX, на данный момент 12, на старте 11.2. Никакого специального API там нет. По сути там та же самая винда с измененным GUI.
Industrialice писал(а):
Хотя они её до этого десятками лет делали на консолях и сами просили о большем контроле на ПК

На PS4 2 графических API. GNM и высокоуровневая обертка вокруг него (GNMX). Все разработчики, что в здравом уме и не делают экз по заказу, пишут через обертку. Разработчик по природе ленив и делая мультиплатформу меньше всего заинтересован к копании внутренностей каждой отдельной железки. Проще просто порезать картинку.

_________________
Unfortunately for you, however, you are maidenless


 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
4e_alex писал(а):
Xbox использует DirectX, на данный момент 12, на старте 11.2. Никакого специального API там нет. По сути там та же самая винда с измененным GUI.

Нет и нет, не 11.2 и 12, а 11.Х и 12.Х
Цитата:
Xbox needs special path anyway. Xbox DX12 is not Windows DX12. At least not if you want full perf.

Вот тут разработчик DOOM говорит о том, что DX12 на XBO и Windows очень разные. На XBO потребуется отдельный код при желании добиться оптимальной производительности
4e_alex писал(а):
Все разработчики, что в здравом уме и не делают экз по заказу, пишут через обертку. Разработчик по природе ленив и делая мультиплатформу меньше всего заинтересован к копании внутренностей каждой отдельной железки. Проще просто порезать картинку.

Я бы обошёлся без таких обобщений. Кто хотел выжать максимум, использовал низкоуровневые API


 

Advanced guest
Статус: Не в сети
Регистрация: 03.12.2004
Industrialice писал(а):
Нет и нет, не 11.2 и 12, а 11.Х и 12.Х

Да и да. Нет в SDK никаких X.
Industrialice писал(а):
Я бы обошёлся без таких обобщений. Кто хотел выжать максимум, использовал низкоуровневые API

А это и есть обобщение. У разработчика мультиплатформы "выжать максимум" имеет довольно низкий приоритет в большом списке дел.

_________________
Unfortunately for you, however, you are maidenless


 

Member
Статус: Не в сети
Регистрация: 10.05.2011
Откуда: Москва
Industrialice писал(а):
На XBO потребуется отдельный код при желании добиться оптимальной производительности


Что весьма логично из-за особенностей памяти и процессора в коробке.


 

Member
Статус: Не в сети
Регистрация: 12.09.2010
Откуда: Калининград
4e_alex писал(а):
Да и да. Нет в SDK никаких X.

Где-то может и нет, где-то есть
Было бы логично иметь разные названия, учитывая, что десктопные и консольные версии API имеют большие различия
4e_alex писал(а):
Проще просто порезать картинку.

4e_alex писал(а):
У разработчика мультиплатформы "выжать максимум" имеет довольно низкий приоритет в большом списке дел.

Чем это вообще подкреплено, может, у вас есть цифры, которые показывают, насколько широко были использованы доступные низкоуровневые API, и насколько часто выбирались сторонние или нативные обёртки над ними? Мне было бы интересно на них взглянуть
Это не то чтобы графика не была болшим selling point, особенно, когда нужно её постоянно совершенствовать, работая на всё том же, устаревающем железе


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1757 • Страница 78 из 88<  1 ... 75  76  77  78  79  80  81 ... 88  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan