Intel рассказала о проблемах использования большого количества ядер в играх

Чуть больше года назад компания AMD вывела на рынок свои процессоры Ryzen, впервые предложив массовому пользователю восемь вычислительных ядер и шестнадцать потоков. Позже компания Intel выпустила процессоры Coffee Lake, которые располагают шестью ядрами и двенадцатью потоками, что также было своего рода прорывом после стольких лет господства 4-ядерных моделей. Но, как известно, если многие рабочие приложения с лёгкостью масштабируются на большое число ядер, то с играми дела обстоят несколько хуже, и отнюдь не все из них способны использовать большое число ядер.

В рамках конференции GDC 2018 компания Intel совместно с игровыми студиями рассказала о перспективах использования большого числа ядер в играх. Как сообщают наши коллеги из ComputerBase, если до шести ядер в основном масштабируются хорошо, то в случае с восемью и более ядрами, распределение вычислений происходит намного хуже. Но так как рынок развивается в сторону увеличения числа ядер, и если верить слухам, то Intel в этом году также как и AMD выпустит в массовый сегмент 8-ядерные решения, разработчики игр должны последовать наметившемуся тренду.

Как рассказали создатели Total War: Warhammer 2 и Conqueror’s Blade, основное внимание в процессе разработки игр уделяется именно ограничениям, накладываемым видеокартами. Потому что производительность GPU растёт значительно быстрее, чем CPU, где в течение последних лет почти ничего не происходило. Поэтому процессоры должны были сделать шаг вперёд, что и произошло. Но если в некоторых областях задействовать большее число ядер просто, то в других имеются ограничения.

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

Программисты также объяснили, почему SMT или Hyper-Threading иногда могут привести к потерям производительности. Проблема в том, что разделение ядра на два потока предполагает разделение всех имеющихся ресурсов, даже тех, которые доступны в очень ограниченной степени, например, кэш-память первого уровня. Когда оба потока хотят получить доступ к одному и тому же маленькому кэшу, это может привести к увеличению времени доступа. То есть данные отправляются с задержкой. Но в случае, когда потоки заняты разными вещами, и один из них фокусируется на кэше, а второй – на ALU, получается добиться повышения производительности.

В конечном счёте, использование ресурсов процессора всегда будет зависеть от конкретной игры, и стоит ли для неё делать оптимизацию для большого числа ядер и потоков. Очевидно, что в таких играх как Total War, где предполагаются массовые баталии со множеством юнитов на больших картах, оптимизация под множество потоков более чем актуальна. В некоторой степени такой подход может быть реализован и в других жанрах, но с гораздо меньшим эффектом. Проще говоря, разработчикам в первую очередь приходится оптимизировать игры под GPU, и уже потом уделять внимание CPU. Так что, игр, использующих процессор лишь частично, всё ещё будет предостаточно. Ну или просто разработчикам нужно искать абсолютно новый подход.

Нравится12
Комментарии (19)
  • Где же те хомячки что купили 8 ядерный рузен для игр и ждущие оптимизона?
  • Blackmeser
    Не факт что проблемы интола будут являться общими проблемами
  • Мало таких задач, если только продвинутый ИИ.
  • Blackmeser написал:
    Где же те хомячки что купили 8 ядерный рузен для игр и ждущие оптимизона?

    Вон, уже набежали. Щас еще набегут те, кто покупает 18 ядерный ксеон на 2,5 герца и кричит что "он для игр лучше потому что потоков много!!11"
  • Многопоточных игры юбики делают и то собачки и отсосин,ну ещё у ЕА бф стала потоки юзать,ну и все собственно.
  • Кроззи
    Щас бы проблемы распараллеливания сваливать на одну компанию, которая не занимается распараллеливанием.
  • Даже интел понимает, что кочегарить процессор уже некуда, и пошли по пути многопотока. Батла последняя вроде не плохо так справляется с этим делом, что кстати отчасти идёт в разрез с дичью в блоге.
  • Я думаю моего 3770к 4.5 купленного мною еще в 2011 еще на долго хватит xD
  • 4 ядра без HT на 4.5 hHz более чем достаточно для любых игор. Остальное покупать грех(идиотизм) если не стримишь\рендеришь\моделируешь..., ибо разница в цене более чем в 2 раза.
  • Так, ну я говорил уже что для игр 6 ядер более чем достаточно. Меня жоско минусили, коментарии отхватывали по 10-20 минусов в одном блоге, мне только заявляли мол "Это на будущее" и "Да тебе лучше знать, ты же инженер Интел/АМД". Ну и че вы теперь скажете, нубы комнатные?
  • Ruv1k
    Уже есть игры которым нужны 8 физических ядер (пусть их пока 2 штуки пока что), дальше больше, пусть через костыли поначалу...года 2 назад каждый второй диванный экперд доказывал что 4 ядра хватит на 10 лет вперед, а каждый второй ютубер впаривал... i3 6100 c теме же "фактами" и где он сейчас?? где i5 6400?? тоже самое и тут года через 3 16 потоков будут нормой и я НЕ про 1700 рязань она устарее как и FX в свое время... потоки ей не помогут... но то что более современным играм будут нужны современные 8+ ядер это факт)
  • МАРШАЛ56565656
    Есть игры которым и 24 потока мало (привет Watch Dogs 2), только оптимизация от этого не всегда растет пропорционально кол-ву ядер.

    МАРШАЛ56565656 написал:
    Уже есть игры которым нужны 8 физических ядер (пусть их пока 2 штуки пока что), дальше больше, пусть через костыли поначалу...

    Суть то не в этом. Ну купил ты процессор на 8 ядер, а игры только 4 ядра поддерживают. Ты такой тешишь себя "ЭТО НА ПОТОМ", только когда это самое ПОТОМ наступает, твой процессор такое каловое днище, что его все равно менять приходится.
    Люди просто потом сидят усираются доказывая превосходство какого-то процессора, потому что у него якобы мощная начинка, а по факту "пук" бесполезный.
  • Ruv1k
    даже если будет +5% за каждые +2 ядра это уже будет прогрессом... например с 8 ядерным камне 60 фпс, с 16 ядерным 90 фпс.. какой камень будет считаться игровым?? ну я все... удачи
  • МАРШАЛ56565656
    Опять фигня. Такое решение не имеет рациональной логики. Ты, как юзер, не будешь покупать 16 ядерный процессор для игры ради +30 фпс, потому что он будет стоить в 2 раза дороже. Можно купить 8 ядерный в двое дешевле и купить в двое быструю ОЗУ и получить те же 30 фпс + быстродействие + ускорить загрузку ОС и приложений + быть уверенным что ВО ВСЕХ играх эффективность будет одинаковой, а не только там, где есть поддержка 16 ядер.

    Я к тому что оно то может и будет работать, но все будет упираться в цену. Собирать такую систему, которая подходит для 1-2 игр в год, и стоит в двое дороже - это глупость. Можно собрать более рациональную систему.
  • Ruv1k
    ты знаешь сколько у меня денег?? почему не буду покупать?? разве i7 8700 К сейчас не покупают?? они же могли купить i5 8400 ....
  • МАРШАЛ56565656
    8700к это лучший процессор и является 6 ядерным, а мы кажется говорили про 16 ядерные, нет?
  • МАРШАЛ56565656
    Если у тебя есть лишние 100К на покупку ПЕКА, то флаг в руки, имея деньги ни кто не запарывается с выбором комплектующих, а берет все только самое лучшее, но преподносить покупку ХХХпоточного процессора да ещё и с пользой в играх - маразм читой воды. По факту твои потоки будут решать в то время, когда даже у самого нищего школьника будет 4К монитор, а щас пока они так же нужны как и 4К мониторы на минималках в Метро2033 с Titan X 22 fps.
  • за 10 лет в играх проц не стал задействоваться сильнее от слова совсем: не стало больше движущихся объектов, врагов и прочего того, за что отвечает проц. В Крайзисе первом можно было разнести хижины, пальмы, узкоглазых, инопланетян - и всё это в одно время в одной сцене - хватало 4-ядерного фена
  • Anefion написал:
    В Крайзисе первом можно было разнести хижины, пальмы, узкоглазых, инопланетян - и всё это в одно время в одной сцене - хватало 4-ядерного фена

    Core 2 Duo хватало, начнём с того.
B
i
u
Спойлер