Здесь упор в процессор

preview_player
Показать описание

Как только заходит разговор за топовые процессора, уровня Core i7 или Core i9, в комментариях сразу же появляются зрители, которым непонятно, как такие мощные процессоры могут быть ограничивать всю систему от получения FPS? Особенно, когда это происходит на 15-20% загрузки. Он ведь еще не начал работать, какой еще упор в проц?

В этом видео на примере материнской платы Asus TUF GAMING Z790-PRO WIFI и видеокарты ASUS TUF Gaming GeForce RTX 4070 SUPER я покажу несколько причин, почему датчик загрузки процессора - это плохой способ узнать, если ли боттлнек в играх. А потом покажу альтернативу.

Рекомендации по теме
Комментарии
Автор

6:37 Даже по результатам видно, что вывод очевиден - "Надо играть в Синебенч" - она идеально оптимизирована

dendrit
Автор

Это как работяги которых в бригаде 20 человек, а работа есть только для 2, а остальние 18 тупо стоят и смотрят...

Абоба-йл
Автор

Халфа не может никак использовать 3 ядра, это нонсенс. Габен уже тогда боялся этой цифры

playbott
Автор

Это скорее не упор в процессор, а упор в болт, который положили разработчики.

ЭтоЧо-шь
Автор

Я заплатил за 100% процессора, я буду использовать 100% процессора

boom_boy
Автор

расходимся, он сломал нашу мечту про 198 ядерный зеон

sulu
Автор

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

ArcherFox
Автор

Для меня, как для человека который полжизни играл в моды на сталкер на эфыксе видос очевиден

zeroone
Автор

А помните, когда выходил DirectX 12, как рекламировали, что решили проблему с распределением нагрузки на все потоки...

burm_danil
Автор

Когда Рома был маленький, родители никогда не брали его сажать картошку. Он слишком глубоко копает.

Спасибо за видео, очень познавательно и доступно.

UA_GecK
Автор

Современная ААА-игра: "Как насчёт того, чтобы вместо нагрузки на твоё железо, я нагрузила тебе за щеку?"

АртёмЛямкин-ык
Автор

Это называется - "Упор в оптимизацию игры", а не упор в процессор

dendrit
Автор

Название видео: Здесь упор в процессор
Первая фраза видео: Здесь упор в процессор
Смысл видео: Здесь упор в процессор
Идеально. Это мы смотрим. Рома, как всегда выдаёт базу.

NVENC_Music
Автор

Для начала немного теории. Закон Амдала говорит нам о том, что программа делится на участки программы, которая может выполнятся параллельно и на те участки где программ может выполняться только последовательно.
Пусть a - это доля которая выполняется последовательно, тогда( 1 - а) - доля которая может выполнятся параллельно.
Тогда рост производительности определяется: 1 / (a +(1-a) / n); где n - число ядер.
При n = 1.
1 / (a +(1-a)) ~ 385.7
При n = 2.
1 / (a +(1-a)/2) ~ 547.5
385.7 / 547.5 = a + (1 - a) /2;
1, 41 = 2a + 1 - a;
0.41 = a.

Тогда при n = 4 получим.
385.7/(0.41 + 0.59/4) = 691 fps.
Что примерно сходится с реальными результатами.
А предельный fps будет равен 940fps когда ядер бесконечно много, но это при условии идиального планировщика не затратной синхронизации и при этом время на создания локального стека для каждого потока время не затрачивается. На практике увы это не так и я рассмотрел данную проблему лишь в первом приближении, тут еще надо смотреть на соотношение попарной независимости инструкций, там может быть асимптотика не линейной относитиельно ядер в прочем в эти дебри мы не пойдем)

ИльдарБулатов-тх
Автор

как геймразраб скажу, что здесь реально полезная инфа и хорошие аналогии)
на самом деле очень сложно писать многопоточные приложения и распределять равномерно нагрузку, это крайне сложная задача. попробуйте заставить работать несколько человек над одной маленькой областью, вот и тут точно так же. еще к этому добавляются гонки данных, управление памятью и др пирколы, потому в основном в играх 2 потока - для логики и для рендера, остальные бывают юзаются чтоб ресурсы подгрузить. для игр с открым миром актуально но там все равно 1-2 потока будет. В основном игры грузят ресурсы сразу, и их набрасывание на загрузку ресурсов тоже упирается в скорость памяти как пзу так и озу :)

snatvb
Автор

Вот вроде известная истина...
Но вот есть люди которым говорят - что сковородка горячая - и её не трогают...
А Рома тот кто решил - а может всё же не горячая - дай потрогаю...)
Моё почтение за такой труд и за упорство убедить(ся) "нагружателей"

ALEXL
Автор

чувак, это капец какое подробное видео по теме! круто!
а пример со стаканами и графином - это просто уау! всё гениальное - просто

LexGorod
Автор

Рома ты просто лучший. Я настолько, настоооолько ломал себе в этом всем голову, делая похожие тесты и не понимая что же именно идет не так. И вот твое видео (уже не первое) где ты просто все по полочкам, с тестами раскладываешь по местам. Прям ОГРОМНОЕ спасибо, большой труд, ты молодец, делай такие же видосы. Не знаю как ты до этого доходишь, с этой всей информацией, ибо у меня она тоже есть какими-то обрывками (как например что такое поток, а в чем разница между коровым и хипертрединговым потоком) но ты вот прям складываешь все эти кусочки в единую правильную картину (смотрел видео еще про оперативку примерно с такими же глазами как тут), никогда не попадалось вот такое обьяснение таких вещей да и сам я к таким тестам врятли бы дошел, так что ты очень умный! Хорошо обьясняешь. Информация годная, полезная и хорошо подана. 10/10

serhiyholovin
Автор

Накину про распараллеливание задач, чаще всего все упрется в то что задача не параллелится или плохо параллелится. Условно говоря ты высчитываешь позицию объекта с новыми переменными, ты можешь разбить вычисления на куски и раскидать их по потокам (еще не факт, что ОС решит их раскидать по разным реальным потокам), но тогда появляется проблема синхронизации вычисления в одной итоговой точке. При синхронизации тебе все равно нужно будет ждать когда какой-то поток (ядро) досчитает последнее вычисление и только после этого возвращать результат (это не всегда стоит того по соотношению надежность/скорость кода). При повышении частоты проца и скорости выполнения вычисления рост производительности будет т.к. тот самый результат будет рассчитываться быстрее, а при увеличении кол-ва потоков не будет, потому что мы уже или разбили вычисление насколько это возможно, в итога частота и скорость одного ядра в расчете чего-то практически всегда будут важнее.

Доп потоки скорее позволяют компьютеру не грузить основные потоки фоновыми задачами системы, решать проф задачи которые явно хорошо праллелятся, но таких задач кот наплакал или запускать больше количество программ в принципе (переводя на игры крутится на одном проце условно сервер по вльхейму и майнкрафту одновременно).

ivanbelkin
Автор

Чел ты лучший, искал инфу 3 часа 0 тру инфы, посмотрел 18 минуты ролик случайно попавшийся на ютубе, разобрался в строении пространства и матерри, спс бро

elijahstreet