LINUX.ORG.RU
ФорумTalks

Многопоточность в современных играх

 , , ,


0

2

Сам не играю, но иногда смотрю тестирование CPU в современных играх. Как это не странно, на данный момент, у большинства современных игр отстутсвтутет поддержка многопоточности. Что скажут аналитики?

★★★★★

Ответ на: комментарий от Harald

не ну некоторые в сетевых особенно играх вроде распараллеивают. например каой нибуть батлофилд что-ли вроде как. или нет?

trueshell ★★★★★
()

сомнительно. большинство тяжёлых игр сидит UE и других готовых движках, а там давно должны были многопоточность сделать.

next_time ★★★★★
()
Последнее исправление: next_time (всего исправлений: 1)

да, до сих пор как-то не особо с этим.
а еще давно не было вайна про то, что некоторые игры выходят только в 64 битной версии

sehellion ★★★★★
()

Где есть тяжёлые вычисления - там есть многопоточность. В большинстве игр это просто не нужно. А вот x-plane, например, выжрет все ядра, которые найдёт.

leave ★★★★★
()

вот поэтому что на смартах что на воркстейшенах проц с более 2 ядер не нужен, смысл, если игрухи всё равно одно ядро загружают и там и тут.

eR ★★★★★
()
Ответ на: комментарий от sehellion

давно не было вайна про то, что некоторые игры выходят только в 64 битной версии

А в чём проблема? У тебя 128 разрядный процессор? Круто, наверное, но пока такие процессоры не станут повсеместно распространены тебе придётся помучиться с 64 битами. Знаешь сколько пользователи 64 битных систем страдали из-за сумасшедших с 32 битами? Да, блин, это идиотство до сих пор длится.
Так что наберись терпения.

Stahl ★★☆
()
Ответ на: комментарий от eR

на воркстейшенах проц с более 2 ядер не нужен
игрухи всё равно одно ядро загружают

На workstation'ах еще и работают

snaf ★★★★★
()

Ъ-многопоточность отсутствует, потому что не нужна.

игры от близзард, World of WarCraft, StarCraft 2, — заточены под два ядра, к их же числу можно отнести World of Tanks. и мой любимый G3258 как раз подходит для данных игрищ более чем.

гытыа пять уже требует 4 ядра, правда я точно не знаю, предел ли это — возможно она умеет использовать все имеющиеся ядра в системе.

ну подождите, будут ещё игры, сейчас вот процессоры с 6ю ядрами для десктопов начнут штамповать, и тогда встанет вопрос о Ъ-распараллеливании, между нищенками с g3258 о двух ядрах и мажорами с 8ми ядерными монстрами.

https://2ch.hk/hw/src/752599/14341457364260.gif

Spoofing ★★★★★
()
Ответ на: комментарий от AntonK

Игры уже давно упираются в видеокарту

Далеко не все.

lenin386 ★★★★
()

Специально не смотрел, но из тех что заметил

Warthunder и Borderlands presecuel нагружают все ядра.

petyanamlt ★★★★
()
Ответ на: комментарий от hateyoufeel

Поведение персонажей? Особенно когда их много.

Персонажей обычно не много. Чаще всего, он один. И его поведение обсчитывается другим процессором, тем, что между ушей. А вот юнитов много. Настолько много, что издержки на согласование и синхронизацию съедят весь профит от распаллеливания.

lenin386 ★★★★
()
Ответ на: комментарий от uin

AI, физику мира окружающего, генерацию событий

int13h ★★★★★
() автор топика
Ответ на: комментарий от Stil

много чего, начиная с самой элементарщины: детектор столкновений и прочую физику, например.

next_time ★★★★★
()
Ответ на: комментарий от lenin386

Персонажей обычно не много. Чаще всего, он один.

Лол, что? Словосочетание NPC первый раз слышите? И как оно расшифровывается?

next_time ★★★★★
()
Ответ на: комментарий от lenin386

А вот юнитов много. Настолько много, что издержки на согласование и синхронизацию съедят весь профит от распаллеливания.

Именно поэтому, число потоков должно быть равным не числу юнитов, а числу процессорных ядер.

next_time ★★★★★
()
Ответ на: комментарий от AntonK

Запустите любую стратегию, поставьте юнитов побольше (10к+) и понаблюдайте, как оно у вас в видеокарту упирается.

next_time ★★★★★
()
Ответ на: комментарий от lenin386

я к тому, что они назывются Неигровой персонаж (НИП, англ. Non-Player Character (NPC)

next_time ★★★★★
()

Чтобы оставить ядра для раздач торрентов с порнохабов.

backburner
()
Ответ на: комментарий от Stahl

Не, я так-то радуюсь 64. А вот некоторый софт под 32 до сих пор раздражает, все тянут и тянут

sehellion ★★★★★
()

Сам не играю, но иногда смотрю тестирование CPU в современных играх. Как это не странно, на данный момент, у большинства современных игр отстутсвтутет поддержка многопоточности

Это заговор Intell. Всем изветсно, что эта контора всегда лажает на многопоточности

Siado ★★★★★
()

Вообще по сабжу. Тут многое зависит от умений программистов. Однопоточные игры гораздо проще написать, нежели многопоточные. Взять тот же Dwarf Fortress. Сидят пару толстых дядек, создали довольно веселую игру, но сделать ее многопоточной не осиливают.

Siado ★★★★★
()
Ответ на: комментарий от lenin386

Ну, Если тебе чудится, что для того, чтобы запустить диспетчер задач и посмотреть, сколько ядер грузит игра, нужна квалификация гейм девелопера, то окей.

Мне чудится, что вы говорите о том, чего совсем не понимаете.

Пусть буду геймдевелопером.

Да, умение запустить таск-менеджер - это очень важный скил для девелопера.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

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

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 4)
Ответ на: комментарий от next_time

Там есть график, показывающий нагрузку на каждое ядро.

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

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 4)
Ответ на: комментарий от lenin386

так вот, я запустил первый кф и системный монитор показал мне увеличение накгрузки на всех ядрах. первый кф на UE3. а UE3 — один из самых ходовых движков. UE4, последняя его версия, очевидно, опять же использует многопоточность вовсю. а близардовские продукты не показатель: во-первых, у них свой движок, более нигде не используемый, во-вторых, вы не там посмотрели нагрузку на ядрах.

next_time ★★★★★
()
Ответ на: комментарий от lenin386

Венда просто бросает этот один поток то на одно ядро, то на другое, и по графику создаётся иллюзия равномерной, но не полной загрузки ядер.

Вот про такую фичу не знал, каюсь, но тогда диспетчер задач — вообще не показатель, ибо, в таком случае, по нему невозможно отличить загрузку одного ядра от загрузки всех ядер одновременно. Кстати, линукс тоже так делает? Кф я тестировал на линуксе.

next_time ★★★★★
()
Ответ на: комментарий от Spoofing

процессоры с 6ю ядрами для десктопов начнут штамповать

Немного неловко тебе это говорить, но никто не мешает тебе уже 3-4 года их покупать, даже восьмиядерные. Стоит это удовольствие примерно от 5.5 до 70 тыс. рублей. Но сильно распараллеливать игры всё равно никто не торопится, всё равно производительность прежде всего определяется эффективностью одного ядра, на которое в основном всё и вешается, а остальные загружаются всякой лёгкой мелочью.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от next_time

я запустил первый кф и системный монитор показал мне увеличение накгрузки на всех ядрах

Ну, разумеется. Если бы он показал увеличение загрузки на одном ядре, то это был бы Линукс, до сих пор не научившийся нормально паралелить системные вызовы.

во-вторых, вы не там посмотрели нагрузку на ядрах.

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

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Если бы он показал увеличение загрузки на одном ядре, то это был бы Линукс, до сих пор не научившийся нормально паралелить системные вызовы.

это и был Линукс)

next_time ★★★★★
()
Ответ на: комментарий от lenin386

Венда просто бросает этот один поток то на одно ядро, то на другое, и по графику создаётся иллюзия ...

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

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

Поведение персонажей?

отличная идея для стартапа: игра с героями шизофрениками с раздвоением личности в реальном времени, минимальные требования — 2х ядерный процессор

unt1tled ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.