Ammper:Grimstroke:Ammper
Не увидел рассуждений. Одни штампы и "ко ко ко на ядро". В сталкер играть будем на 1 ядре или что?
Ну что ты. Нельзя же так категорично.
Я тут смотрел как умный человек из "гайдзина" рассуждал на эту тему. Кажется на канале Бородатого Сереги.
И там было что-то вроде:
- "Много ядер это хорошо, но все равно остается блок вычислений который не возможно распараллелить, так как он отвечает за согласование работы остальных потоков. Что ограничивает общую производительность в одно ядро"
Боюсь что я не очень точен в цитате, но смысл там был такой.
В принципе это укладывается в логику развития "турбо-буст".
PS прости, пришлось редактировать пост, случайно отправил незаконченую мысль.
PPS еще канал "этот компьютер" проводил разбор времени процессора. Где то в то же время когда и на канале прохайтек, выходило интервью с "гайдзином"
НАШЕЛ
видос - "Почему GPU и CPU могут быть не загружены полностью в играх одновременно?"
Отправлено спустя 16 минут 59 секунд:
И еще нашел -
О загруженности потоков, новых видеокартах, Proton, Vulkan и Linux-гейминге - с Кириллом Юдинцевым
Помню, когда кодил на опен мп - это короч библиотеки мультипоточного программирования. Там было такое понятие как мастер поток - данный поток есть всегда и он запускает программу. Потом, при достижении участка, где возможно применение нескольких потоков одновременно, программист может распараллелить нагрузку на несколько (2 и более) потокоч. При этом, мастер поток никуда не проподает. У каждого потока в основном свои ресурсы и они чаще всего, не пересекаются в доступе к ресурсам с другими потоками. После того, как каждый поток выполнит свою работу, они анулируются, и дальше работу продолжает мастер поток, который дальше выполняет программу до места следующего расспараллеливагия. Там есть момент с многопоточностью - чем больше участков в программе, где идут параллельные вычисления, тем программа эффективнее работает. Но при этом, параллелить сложно и не все можно. По этой причине, многие разрабы все понавешают на 1 - 2 потока и вертись оно налево. В общем, нет такого что прям что то сильно мешало параллелить в играх нагрузку. Конечно, есть задачи, которые вообще не параллеляться, но игры к ним не относятся. В общем, все упирается в деньги - квалификацию программистов, затораченных ресурсах на разработку. Многие делают приложение на отлюбись, в 1 поток, ибо даже 1 потока хватает. Надеюсь, лет через 10, использование 8 потоков станет нормой даже для лентяев, а не как сейчас, как событие.
Отправлено спустя 4 минуты 51 секунду:
Причём кодить на опен мп довольно просто - можно забить любое количество потоков, например, перемножением матриц 2000 на 2000 элементов. На CUDA кодить сложнее, но профит сильно выше, во всяком случае при перемножении матриц - разница во времени фикуса и 550ти была раз 20, точно не скажу.