HLFX.Ru Forum
Показать все 13 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Флуд (https://hlfx.ru/forum/forumdisplay.php?forumid=11)
-- Многоядерность в играх (https://hlfx.ru/forum/showthread.php?threadid=6014)


Отправлено Дядя Миша 23-08-2023 в 11:12:

Многоядерность в играх

https://overclockers.ru/blog/Razg0n...em-na-konsolyah

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 23-08-2023 в 12:28:

Большинство современных процессоров рассчитаны именно на многопоточность. Однопоточность даже у топовых процев сосёт (если только не разгонять их до каких то безумных значений под жидким азотом). Наверное ресурсоёмкие задачи лучше распределять на несколько ядер. А вот простые можно и в одном потоке делать.

Цитата:
Дядя Миша писал:
Это собственно то, о чём мы с Ксероксом давно уже твердим - асинхронная мульипоточность может даже снижать производительность


Это зависит скорее от реализации, например Автодеск и тима Блендера в один голос говорят что нет никакого смысла во многопоточности для расчета физики жидкостей, т.к. оно будет даже медленнее. И при этом есть РеалФлов который прекрасно в этой многопоточности работает и работает намного быстрее, в то время как все конкуренты считают в одном потоке. Так что если снижается производительность, это вероятнее проблема алгоритма, а не многопоточности.

Цитата:
Дядя Миша писал:
Ну и разумеется это хорошо для задач, которые сбалансированно параллелятся. Но игры к ним не относятся.


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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено nemyax 23-08-2023 в 12:33:

Поток для физики, поток для инпута, поток для основного цикла.


Отправлено FiEctro 23-08-2023 в 12:39:

Re: Многоядерность в играх

Цитата:
Дядя Миша писал:
https://overclockers.ru/blog/Razg0n...em-na-konsolyah


Ну ты же понимаешь что Core i9-13900K с 4090 на борту, работающем на 5,5 ГГц, памятью на ДДР 5 и конским кешем хоть и с одним ядром, это совсем не тоже самое что ваши задрипанные пентиумы 2010 года ? Там наверное ещё и водянку до кучи поставили. Объективность теста весьма сомнительная, а то что с консолями сравнивают так это вообще до уровня абсурда. И кстати да SMT у АМД вроде как.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 23-08-2023 в 14:06:

Цитата:
FiEctro писал:
Однопоточность даже у топовых процев сосёт

Я понял. Ты вообще не понимаешь что такое распараллеливание задач и как оно работает. Не вижу смысла продолжать дискуссию.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Decay 23-08-2023 в 15:49:

Цитата:
В итоге получается, что миф о концептуальной невозможности запуска современных игр на CPU с одним ядром был целиком и полностью развенчан. В подавляющем большинстве проектов средняя частота кадров была выше 30 консольных FPS. Даже вышедшие месяц назад тайтлы идут вполне себе бодро.

https://www.youtube.com/watch?v=ypDcl0KHSs8
Я тоже в этом не разбираюсь. Не знаю что здесь значит "бодро", если время кадра так скачет и игра статтерит, больно в такое играть. Лично мне это видео говорит скорее о том что не стоит отключать ядра


Отправлено FiEctro 23-08-2023 в 17:12:

Цитата:
Дядя Миша писал:
Я понял. Ты вообще не понимаешь что такое распараллеливание задач и как оно работает. Не вижу смысла продолжать дискуссию.


А ты понимаешь? Почитай комментарии под твоей статьёй, и все поймешь.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 23-08-2023 в 18:13:

Если на соседнее ядро привязан стриминг - конечно будет статерить.
Впрочем сталкер ухитрялся это делать независимо от кол-ва ядер.
Ну ладно оригинал кажется вообще был одноядерный. Так его недавно переписали и чтожы? Да всё так же логает

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 28-08-2023 в 21:09:

Цитата:
FiEctro писал:
Так что если снижается производительность, это вероятнее проблема алгоритма, а не многопоточности.

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

Добавлено 29-08-2023 в 01:09:

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

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Chyvachok 30-08-2023 в 12:16:

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

Интересно вот, есть такие игры как Факторио и Римворлд, почему первый хорошо работает, второй лагает как говно когда там сотни врагов нападают разом да и вообще сам лейт гейм лагучий? Хотя в факторио если так подумать то тоже куча сущностей что что-то делают, руда на конвеерах, заводики, дроны и поезда что это возят, хотя я не в курсе как у них там многопоточность, есть, нету.


Отправлено FiEctro 30-08-2023 в 17:57:

Цитата:
Chyvachok писал:
Интересно вот, есть такие игры как Факторио и Римворлд, почему первый хорошо работает, второй лагает как говно когда там сотни врагов нападают разом да и вообще сам лейт гейм лагучий? Хотя в факторио если так подумать то тоже куча сущностей что что-то делают, руда на конвеерах, заводики, дроны и поезда что это возят, хотя я не в курсе как у них там многопоточность, есть, нету.



https://dtf.ru/u/1922-andrei-apanas...entov-na-ekrane

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 30-08-2023 в 18:18:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 31-08-2023 в 07:03:

В играх частенько большие просадки от партиклей различных, те же взрывы.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Временная зона GMT. Текущее время 17:58.
Показать все 13 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024