Мемbеr
Статус: Не в сети Регистрация: 15.12.2006 Фото: 85
XRR писал(а):
HT/SMT это низкоуровневая оптимизация загрузки конвеера процессора
Зачем консолям "низкоуровневая оптимизация", если там изначально низкоуровневая привязка задачи к потоку? Там нету всех этих лишних программных прослоек, там есть низкоуровневое API и железо.
Цитата:
Chris Norden, SCEA:
In terms of rendering, there was some interesting news. Norden pointed out one of the principal weaknesses of DirectX 11 and OpenGL - they need to service a vast array of different hardware. The advantage of PlayStation 4 is that it's a fixed hardware platform, meaning that the specifics of the tech can be addressed directly. (It's worth pointing out at this point that the next-gen Xbox has hardware-specific extensions on top of the standard DX11 API.)
"We can significantly enhance performance by bypassing a lot of the artificial DirectX limitations and bottlenecks that are imposed so DirectX can work across a wide range of hardware," he revealed.
The development environment is designed to be flexible enough to get code up and running quickly, but offering the option for the more adventurous developers to get more out of the platform. To that end, PlayStation 4 has two rendering APIs.
"One of them is the absolute low-level API, you're talking directly to the hardware. It's used to draw the static RAM buffers and feed them directly to the GPU," Norden shared. "It's much, much lower level than you're used to with DirectX or OpenGL but it's not quite at the driver level. It's very similar if you've programmed PS3 or PS Vita, very similar to those graphics libraries."
#77 #77
XRR писал(а):
не "костыль для Windows" . Открой результаты в Linux`e - там все тож самое
Одного поля ягоды. Что там, что там потоки живут своей жизнью. В консолях потокам заведомо задается конкретная задача и никакая "оптимизация извне" им не нужна, потому что никакой "случайной нагрузки", которую нужно "оптимизировать", там просто нет. К каждому потоку априори заведомо привязана своя задача. Все. Ничего "сверху", что требовалось бы "оптимизировать" там не появится.
XRR писал(а):
Что такое 8 ядер Zen 2 на 3.0? Это Zen 1 на 3.5 где-то. Что такое Zen 1 на 3.5 и без SMT? Это i5-8400.
При чем здесь все эти ваши аналогии с ПК, если в консоли все работает на совсем другом уровне, а?
Последний раз редактировалось ultrafx 26.01.2019 15:26, всего редактировалось 4 раз(а).
Member
Статус: Не в сети Регистрация: 21.04.2005 Откуда: Москва Фото: 57
ultrafx писал(а):
Зачем консолям "низкоуровневая оптимизация", если там изначально низкоуровневая привязка задачи к потоку?
Затем, что никто ничего там не пишет на машинном коде, чтобы работало как с HT/SMT, но без них.
ultrafx писал(а):
При чем здесь все эти ваши аналогии с ПК, если в консоли все работает на совсем другом уровне, а?
Ну как причем, чтобы привести на умные мысли. Вот уже Linux это не те гранаты и не те "костыли"... Можно привести аналогии из серверов, уж там то Джоны Кармаки сплошь и рядом, но что-то я не слышал чтобы они отключали HT чтобы "быстрее летало, по-ламповому" .
Мемbеr
Статус: Не в сети Регистрация: 15.12.2006 Фото: 85
XRR писал(а):
Можно привести аналогии из серверов
А можно не приводить. Сервера - куча случайных задач и рандомных данных по потокам. Игра в консоли - конкретная задача на каждом ядре. На каком API крутятся серверные задачи?
Member
Статус: Не в сети Регистрация: 21.04.2005 Откуда: Москва Фото: 57
ultrafx писал(а):
конкретная задача на каждом ядре
Отключение SMT лишь фиксит недоработку программистов (эффект от которой может измерятся в разнице в 2фпса и с чем не будет проблем в консолях), оно не повышает производительность. А включение SMT позволяет прибавить до 40% и это не зависит от превозмогают они в консолях лимитации директ-икса или нет. В соседней теме один фапает на латенси, другой "фома не знающий родства" уже на i5, за которыми будущее. Если аналогии не помогают - то я умываю руки.
Member
Статус: Не в сети Регистрация: 21.05.2016 Фото: 0
ultrafx писал(а):
Игра в консоли - конкретная задача на каждом ядре.
А каждая задача это очевидно с десяток строк элегантного кода, который весь умещается в кэш ? А данные игры так прям прекрасно все упакованы что читаются строго последовательными блоками ? Большая разница с сервером ? А расчеты, расчеты конечно все делаются на ГПУ, а там рай оптимизона. Судя по этому утверждению консоли заняты только примитивными кодами которые каждый строго на своем ядре и все летает благодаря этому.
[ Зачем консолям "низкоуровневая оптимизация", если там изначально низкоуровневая привязка задачи к потоку? Там нету всех этих лишних программных прослоек, там есть низкоуровневое API и железо.
Это как бы вообще разные вещи.
Цитата:
"We can significantly enhance performance by bypassing a lot of the artificial DirectX limitations and bottlenecks that are imposed so DirectX can work across a wide range of hardware," he revealed.
Меньше слоев абстрагирования. Ииии?
Цитата:
"One of them is the absolute low-level API, you're talking directly to the hardware. It's used to draw the static RAM buffers and feed them directly to the GPU," Norden shared. "It's much, much lower level than you're used to with DirectX or OpenGL[/i] but it's not quite at the driver level. It's very similar if you've programmed PS3 or PS Vita, very similar to those graphics libraries."
И все бы ничего, если бы DirectX, которыми пользуются разрабы не был оберткой над DX Asm.
Цитата:
Одного поля ягоды. Что там, что там потоки живут своей жизнью. В консолях потокам заведомо задается конкретная задача и никакая "оптимизация извне" им не нужна, потому что никакой "случайной нагрузки", которую нужно "оптимизировать", там просто нет. К каждому потоку априори заведомо привязана своя задача. Все. Ничего "сверху", что требовалось бы "оптимизировать" там не появится.
Кто сказал, что даже в Windows настольной нельзя жестко задать потоки? А уж в юниксах и юникс-подобных - тем более.
Для пк асинхронные вычисления зачастую - костыли и ничего более. В плойке они костыли тем более, потому что скидывать все вычисления на убогие джагуары - лучший способ сфэйлить игру.
Мемbеr
Статус: Не в сети Регистрация: 15.12.2006 Фото: 85
aasheron писал(а):
Кто сказал, что даже в Windows настольной нельзя жестко задать потоки?
А кто сказал, что нельзя? И при чем здесь потоки, если я про задачи писал? Задачи логики игровой, а не общий поток аля "драйвер мы повесим на первый, а игру на второй". А не занимаются этим потому, что на ПК нету единственно верного числа потоков и процессора как такового. У кого-то двухъядерный Пентиум, у кого-то шестнадцатиядерный Риппер. И у всех все должно работать. Поэтому на выходе получаем то, что получаем, через костыли раскиданное неоптимизированное говно.
aasheron писал(а):
Для пк асинхронные вычисления зачастую - костыли и ничего более. В плойке они костыли тем более, потому что скидывать все вычисления на убогие джагуары - лучший способ сфэйлить игру.
При чем здесь Ягуар, я вообще не понял. Речь про GPU. Читай, что пишут по ссылкам, благодаря Async Compute на консолях разработчики выигрывают в среднем до 20% (а то и больше) к времени кадра. А ты пишешь, что это фейл. Вопрос: кто прав, разработчик или ты? Вопрос риторический.
idSoftware: Async is awesome, we gained about 3ms up to 5ms on consoles(huge for 60hz) aasheron: В плойке они костыли, лучший способ сфэйлить игру.
А кто сказал, что нельзя? И при чем здесь потоки, если я про задачи писал? Задачи логики игровой, а не общий поток аля "драйвер мы повесим на первый, а игру на второй". А не занимаются этим потому, что на ПК нету единственно верного числа потоков и процессора как такового. У кого-то двухъядерный Пентиум, у кого-то шестнадцатиядерный Риппер. И у всех все должно работать. Поэтому на выходе получаем то, что получаем, через костыли раскиданное неоптимизированное говно.
Ещё раз, для тех кто в танках. У ОС есть возможность жестко привязать поток к определенному ядру. Точнее к определенному thread. Который будет обрабатываться на этом самом ядре с определенным ID. Без перебросов и т.д. Это даже в Win есть, не говоря о юникс-подобных. В консолях точно известна производительность потока, поэтому можно точнее дозировать нагрузку.
Цитата:
При чем здесь Ягуар, я вообще не понял. Речь про GPU. Читай, что пишут по ссылкам, благодаря Async Compute на консолях разработчики выигрывают в среднем до 20% (а то и больше) к времени кадра. А ты пишешь, что это фейл. Вопрос: кто прав, разработчик или ты? Вопрос риторический.
Хосспидя, неужели настолько непонятно? Любой эффект, освещение там, затенение и т.д. можно обсчитывать как на ЦПУ, так и на ГПУ - вычислительными шейдерами. Если кто-то думает, что на консольках вычислительные шэйдеры используются ТОЛЬКО как оффлоад нагрузки из графического потока (который всегда один) - то глубоко ошибаются.
Цитата:
idSoftware: Async is awesome, we gained about 3ms up to 5ms on consoles(huge for 60hz) aasheron: В плойке они костыли, лучший способ сфэйлить игру.
В твоей дебильной редакции - да это нонсенс. Только вот я писал про совсем иное - про то, что у плоек недостаток процессорных ресурсов и часть вычислений приходится скидывать на ГПУ. И именно это позволяет уменьшить время обработки кадра, иначе все упиралось бы в убогий ЦПУ как боттлнэк - об этом и говоррят ID. У тебя проблемы с чтением или пониманием написанного?
Мемbеr
Статус: Не в сети Регистрация: 15.12.2006 Фото: 85
aasheron писал(а):
Ещё раз, для тех кто в танках. У ОС есть возможность жестко привязать поток к определенному ядру. Точнее к определенному thread. Который будет обрабатываться на этом самом ядре с определенным ID. Без перебросов и т.д. Это даже в Win есть, не говоря о юникс-подобных. В консолях точно известна производительность потока, поэтому можно точнее дозировать нагрузку.
Ты читать совсем не умеешь? Я тебе про логику игры, а не про общий поток. Подскажешь, как в Windows сделать так?
aasheron писал(а):
Хосспидя, неужели настолько непонятно? Любой эффект, освещение там, затенение и т.д. можно обсчитывать как на ЦПУ, так и на ГПУ - вычислительными шейдерами. Если кто-то думает, что на консольках вычислительные шэйдеры используются ТОЛЬКО как оффлоад нагрузки из графического потока (который всегда один) - то глубоко ошибаются.
А теперь читай и смотри то, что я скидывал выше и внезапно может быть прозреешь.
Member
Статус: Не в сети Регистрация: 29.07.2015 Откуда: Москва Фото: 696
ultrafx писал(а):
XRR писал(а): HT/SMT это низкоуровневая оптимизация загрузки конвеера процессора
Зачем консолям "низкоуровневая оптимизация", если там изначально низкоуровневая привязка задачи к потоку? Там нету всех этих лишних программных прослоек, там есть низкоуровневое API и железо.
Цитата: Chris Norden, SCEA:
In terms of rendering, there was some interesting news. Norden pointed out one of the principal weaknesses of DirectX 11 and OpenGL - they need to service a vast array of different hardware. The advantage of PlayStation 4 is that it's a fixed hardware platform, meaning that the specifics of the tech can be addressed directly. (It's worth pointing out at this point that the next-gen Xbox has hardware-specific extensions on top of the standard DX11 API.)
"We can significantly enhance performance by bypassing a lot of the artificial DirectX limitations and bottlenecks that are imposed so DirectX can work across a wide range of hardware," he revealed.
The development environment is designed to be flexible enough to get code up and running quickly, but offering the option for the more adventurous developers to get more out of the platform. To that end, PlayStation 4 has two rendering APIs.
"One of them is the absolute low-level API, you're talking directly to the hardware. It's used to draw the static RAM buffers and feed them directly to the GPU," Norden shared. "It's much, much lower level than you're used to with DirectX or OpenGL but it's not quite at the driver level. It's very similar if you've programmed PS3 or PS Vita, very similar to those graphics libraries."
XRR писал(а): не "костыль для Windows" . Открой результаты в Linux`e - там все тож самое
Одного поля ягоды. Что там, что там потоки живут своей жизнью. В консолях потокам заведомо задается конкретная задача и никакая "оптимизация извне" им не нужна, потому что никакой "случайной нагрузки", которую нужно "оптимизировать", там просто нет. К каждому потоку априори заведомо привязана своя задача. Все. Ничего "сверху", что требовалось бы "оптимизировать" там не появится.
XRR писал(а): Что такое 8 ядер Zen 2 на 3.0? Это Zen 1 на 3.5 где-то. Что такое Zen 1 на 3.5 и без SMT? Это i5-8400.
При чем здесь все эти ваши аналогии с ПК, если в консоли все работает на совсем другом уровне, а?
чото похоже это на рекламную замануху от сони для кодеров подозреваю, что не всё там так здорово
Member
Статус: Не в сети Регистрация: 21.05.2016 Фото: 0
aasheron писал(а):
Хосспидя, неужели настолько непонятно? Любой эффект, освещение там, затенение и т.д. можно обсчитывать как на ЦПУ, так и на ГПУ - вычислительными шейдерами. Если кто-то думает, что на консольках вычислительные шэйдеры используются ТОЛЬКО как оффлоад нагрузки из графического потока (который всегда один) - то глубоко ошибаются.
Речь была про Асинк, не надо сруливать, а Асинк это понятие для ГПУ, потому обычно весь массив АЛУ считает один контекст, а время перезаписи контекста не мгновенное, а Куртка не счел или не смог, скорее не смог, сделать мультиконтекст или костыль ввиде Асинк, вот почему и экономятся много процентов. Т.е. SIMD приблизили к MIMD.
Member
Статус: Не в сети Регистрация: 03.01.2007 Откуда: Jena/Berlin
XRR писал(а):
но что-то я не слышал чтобы они отключали HT чтобы "быстрее летало, по-ламповому"
А я, например, видел, отключали для VizRT для стабильной задержки. Чёрным по белому в инструкции стоит - такая-то конфигурация, такие-то сервера, такие настройки - всё остальное - непровереное, на свой страх и риск, и в случае проблем поддержка разбираться не будет.
Я лично уверен, что SMT будет, т.к. не стоит ничего, и с возможностью отключения (возможно, просто выбором нужных потоков для исполнения).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения