Почему PS5 опережает более мощную Xbox Series X в некоторых играх — ответили в Digital Foundry

Одна из причин — гораздо более эффективный компилятор.

Почему PS5 опережает более мощную Xbox Series X в некоторых играх — ответили в Digital Foundry
219219
55
11

Про эффективный компилятор поржал. Это давняя шутка программистов валить всё на компилятор, хотя я за 15 лет работы разрабом на куче языков и технологий ни разу не видел, чтобы компилятор был источником уменьшения скорости работы кода. Вычислительную сложность компилятор не портит.

Может, имелись ввиду какие-то оптимизационные механизмы компилятора, которые улучшают эффективность говнокода? Вот такое бывает, да.

23
Ответить

"за 15 лет работы разрабом на куче языков и технологий ни разу не видел"
1. Были задачи где цикл должен отрабатывать за 17мс и не больше?
2. Были задачи связанные с кодом под GPU?

2
Ответить

Бывает, что компиляторы генерируют неэффективный код, это нормально. С шейдерными компиляторами это чаще происходит, потому что гпушная архитектура меняется быстрее чем цпушная, цпушные компиляторы стабильнее в среднем.
В _значимую_ разницу в кодогене между плойковским компилятором шейдеров и мелкософтовым я не очень верю если честно. Шейдера пока еще та область, где люди смотрят получившийся после генерации код, он пока еще довольно легко парсится глазами / профилировщиками, и очевидную неэффективную дичь довольно легко заметить и подправить исходник так, чтобы этой дичи не возникало. Особенно на консолях. На пк с этим сложнее, т.к. нет особо контроля над тем, как байткод в ису перегоняется, железок много разных.

2
Ответить

Тут может разница из-за разных графических API? У бокса DX12, у плойки вроде Vulkan(но это не точно), на ПК же есть разница по ФПС от разных API, в одной и той же игре

1
Ответить

IAR EWARM раньше запросто давал кривой код при включении оптимизаций, поэтому приходилось собирать вообще без них. Сейчас он же под какие-нибудь экзотические ядра такое делает.

Ответить

Исходя из того, что компилируют под GPU обычно шейдеры и под шейдеры у плойки есть свой язык, предположу, что речь о нём

Ответить

Вот кстати да. НО, по идее amd им должны были сделать компилятор. Допустим и тем и тем дали его исходники.

И что?

Не поверю, что разрабы в студиях полезут править компилятор. Это же нужно кучу всего знать про архитектуру, что бы не на говногодить, и даже если и проект соберется, то не факт, что потом могут начаться хардфолты от любого чиха)

Ответить