Сохранен 38
https://2ch.hk/hw/res/3011528.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Поясните за многоядерность, многопоточность

 Аноним 31/07/18 Втр 19:36:18 #1 №3011528 
2280945860378.png
Поясните за многоядерность, многопоточность и многопроцнссоры.

Почему старые программы и игры однопоточные, а мой проц все ядра в работе юзает а не одно?

И как узнать сколько ядер нужно конкретной игре? 2, 4, а может игре 6 надо?
Аноним 31/07/18 Втр 20:00:00 #2 №3011563 
Lena.jpg
bump!
Аноним 31/07/18 Втр 20:05:39 #3 №3011574 
Оптимизация.
Аноним 31/07/18 Втр 20:11:38 #4 №3011583 
>>3011528 (OP)
>Почему старые программы и игры однопоточные
Потому что так их писали, и потому что тогда были только однопоточные процы.

>мой проц все ядра в работе юзает а не одно
операционка раскидывает программы по ядрам.

>И как узнать сколько ядер нужно конкретной игре? 2, 4, а может игре 6 надо?
См. системные требования игр. Ну и просто на практике смотри, сколько игра использует. Одни игры пытаются все доступные заюзать, другие только ограниченное количество.
Аноним 01/08/18 Срд 06:55:37 #5 №3012359 
>>3011583
>операционка раскидывает программы по ядрам.
Какие программы я игру одну запускаю

Аноним 01/08/18 Срд 10:06:26 #6 №3012485 
>>3012359
лупенек тупой, винда твоя, проводник, антивирь, браузер с порнушкой, засширение VPN в браузере, чтобы порнушку смотреть.
Открой диспечер задач винды, там кроме твоей игры, задрот малолетний, еще 30-40 постоянно висящих процессов есть, они и раскиданы по разным ядрам.
Аноним 01/08/18 Срд 11:09:54 #7 №3012560 
>>3011528 (OP)
ОС поочерёдно кидает твоё однопоточное приложение на другие ядра. Чтобы кристалл прогревался равномерно.
Аноним 01/08/18 Срд 18:37:18 #8 №3013767 
>>3012485
Блять, смотри, в простое 1% проц хавает, а запускаю игру старую 2000 года и проц все 16 потоков блять грузит под 80%, чё хочеш сказать антивирус внезапно проснулся как я начал играть и проводник и жрать все потоки???

>>3012560
>прогревался
Очень блять смешно
Аноним 01/08/18 Срд 19:59:20 #9 №3013874 
>>3011528 (OP)
>как узнать сколько ядер нужно конкретной игре?
У меня в одной игре cpu0 въябывал как Вася, а остальные 3 простаивали (4 ядра). Убрал игре cpu0, нагрузка распределилась равномерно по остальным трём ядрам.
Сейчас игра обновилась, и такую возможность заблочили.
Я до сих пор не понимаю почему.

мимопроходил
Аноним 01/08/18 Срд 20:26:13 #10 №3013900 
foKWEX2 - Imgur.gif
>>3011528 (OP)
> И как узнать сколько ядер нужно конкретной игре?
В большинстве случаев нужно одно, но мощное.
Аноним 01/08/18 Срд 20:28:07 #11 №3013904 
>>3013767
Графика рендерится на проце без норм видеокарты/драйвера на неё.
Аноним 01/08/18 Срд 20:29:37 #12 №3013908 
>>3013900
Не так, нужно чтобы каждое ядро было мощное, а не куча говноядер.
Аноним 01/08/18 Срд 20:36:37 #13 №3013926 
>>3013908
>куча говноядер
В точку, у Интела сейчас так.
Аноним 01/08/18 Срд 20:37:17 #14 №3013927 
>>3013767
>Очень блять смешно
А ты таблеточки прими, чтобы от пальчика не смеяться.
Неравномерный нагрев кристалла серьезная проблема.
Не говоря уже о том, что, такая тактика позволяет держать температуру ядер ниже, что положительно сказывается на производительности, турбо бусты всякие за счет этого выезжают.

>>3013908
>Не так, нужно чтобы каждое ядро было мощное, а не куча говноядер.
Не так, нужны программисты, которые бы кодили нормальный код.
Но вначале нужны гейм дизайнеры, которые бы могли создавать игры, а не мыльное кинцо.
Аноним 01/08/18 Срд 20:38:27 #15 №3013931 
>>3013767
Ты спросил, тебе ответили.
Особенность виндового шедуела.
Аноним 01/08/18 Срд 20:52:12 #16 №3013954 
>>3013926
Покажи у кого лучше.
sageАноним 01/08/18 Срд 20:52:42 #17 №3013955 
>>3013767
> Блять, смотри, в простое 1% проц хавает, а запускаю игру старую 2000 года и проц все 16 потоков блять грузит под 80%
Наверно это старый код, который эмулируется, он хоть и менее требователен, но ОС исполняя его, на каждое ядро кидает свою подсистему для эмуляции работы с этим кодом. Например раньше код был в ядре ОС, сейчас часть вынесли, а эмулировать его тоже надо как-то. Потом не забывай, что весь этот код надо синхронизировать между собой как-то. Вот и выходит, что ядра забиты.
>>3013767
>Очень блять смешно
Ничего смешного, в зависимости от сценария нагрузки, планировщик ОС исполняя потоки, может принудительно мигрировать процессы между ядрами для этих целей.
Аноним 01/08/18 Срд 21:55:30 #18 №3014051 
>>3013927
> Не так, нужны программисты, которые бы кодили нормальный код.
А тыв готов платить за игру больше чем 2300? Хорошие программисты стоят дохуя денег и кодят на говноджаве энтерпрайз приложухи для работы с терабайтами данных в секунду. Игропром такое просто не потянет.
Аноним 01/08/18 Срд 22:34:57 #19 №3014111 
>>3014051
>А тыв готов платить за игру больше чем 2300?
Долларов?
Бред какой, качество кода, не толь ко в играх, не зависит от платежеспособности потребителя.
15 лет назад этот рынок был крохотным, в сравнении с современной ситуацией его вообще не было, и тем не менее код был куда лучше.

>Хорошие программисты стоят дохуя денег и кодят на говноджаве энтерпрайз
>Хорошие программисты
>кодят на говноджаве
Ты чет путаешь.

>Игропром такое просто не потянет.
С его то оборотом в триллионы долларов?
Аноним 01/08/18 Срд 22:50:22 #20 №3014143 
>>3014111
>код был куда лучше
Чего несёт.
Аноним 01/08/18 Срд 23:51:39 #21 №3014231 
>>3014111
> Бред какой, качество кода, не толь ко в играх, не зависит от платежеспособности потребителя.
От плптежеспособности потребителя зависит все. Есть икра осетровая, а есть белковая. Вторую может себе позволить любой гружчик. Но поверь, разница есть.
Хорошую программу должна писать команда хороших программистов. А взлетит игра или не вздетит контора еще не знает. Поэтому маусимально снижаются издержки. Набирают не дорогих и опытных, а дешевых джунов.
> и тем не менее код был куда лучше
Ты можешь мне показать код 15 летней давности? Раньше все было куда проще. Интернет был дорогой и не везде. Поэтому патчи распространять было сложно и дорого. Поэтому вкладывалсь в тестирование. Сейчас нормой стали патчи "нулевого дня". Когда ошибки правят уже после того как ты оплатил игру и установил ее на комп. А разраб все еще латает дыры, потому что джуны работают за еду.
> Ты чет путаешь.
Нет, это ты чего то путаешь. В конторе где я работал программисты получали в 2.5 раза меньше чем администраторы sql баз. Потому что похуй если прога крашнется, клиенту скажут ждите патча. А вот если наебнуться данные в базе, то фирма влетит на бабки. Суровые реалии жизни.
> С его то оборотом в триллионы долларов?
Разоработчик с этих триллионов получает гроши. Засть забирает гейб, часть издатель, часть на пиар. Самой конторе перепадает в лучшем случае половина, но на зп именно программистов идут гроши от этой суммы. Реклама важнее качества.
Аноним 02/08/18 Чтв 03:26:00 #22 №3014390 
>>3013874
Мот потому что этой игрой был стимовский античит
Аноним 02/08/18 Чтв 09:43:18 #23 №3014526 
>>3014231
Ты в своих мыслях разберись.
Аноним 02/08/18 Чтв 10:39:03 #24 №3014608 
>>3011528 (OP)
Планировщик процессорного времени.
Аноним 02/08/18 Чтв 15:06:04 #25 №3015169 
Бля вы меня не слышите, у меня любая игра, любая прога юзает все 16 потоков, вот какого хуя? Вот как мне бля узнать что мне хватит и 8 потоков допустим?

Хорошо спрошу по другому - програмисты в своих программах и играх как реализуют многопоток? Они вручную ставят цыферку сколько ядер нагружать или у них универсальная переменная там есть?
Аноним 02/08/18 Чтв 15:23:52 #26 №3015209 
>>3015169
При написании многопоточных приложений никто адекватный не будет жёстко хардкодить кол-во потоков. Делается гораздо проще, у ОС есть пул потоков (не путать поток, как объект ОС и поток у процессора), она сама управляет размером этого пула. Когда тебе нужно распараллеливания задачи, ты просто берешь поток из пула (как я уже сказал, размером пула управляет ОС). Обычно не выгодно запускать параллельных задач больше, чем кол-во потоков процессора - 1. Итого: чем больше потоков процессора, тем больше параллельных задач можно запускать, уменьшить кол-во потоков процессора - меньше задач смогут работать параллельно (например, системные задачи, могут делить потоки с задачами игры и тормозить просчет игровой логики)
Аноним 02/08/18 Чтв 15:39:39 #27 №3015250 
>>3011528 (OP)
КУПИЛ i9 7900X
@
ARMA 3 С ПУКАНЬЕМ ПРОСАЖИВАЕТСЯ ДО 80FPS
@
НЕ ВСЕ НАСТРОЙКИ НА ULTRA


Говнокод такой говнокод. Несите денежки, гои, нужно больше ядер (которые, впрочем, не будут работать)

https://www.youtube.com/watch?v=N_Fwz4jxzVk
Аноним 02/08/18 Чтв 21:41:02 #28 №3015988 
af073cb46385c0da8a9d3e1fedbd7d7d.png
>>3015169
>Бля вы меня не слышите, у меня любая игра, любая прога юзает все 16 потоков, вот какого хуя?
Тебе уже ответили несколько раз:
>>3013931
>Особенность виндового шедуела.

>>3015169
>Вот как мне бля узнать что мне хватит и 8 потоков допустим?
Хватит для чего?

>Хорошо спрошу по другому - програмисты в своих программах и играх как реализуют многопоток?
Через апи ОС. Вызывают специальную функцию из ядра ОС, передают в нее код на выполнение, ОС создает новый поток и исполняет в нем код.

>Они вручную ставят цыферку сколько ядер нагружать
Зависит от того что и как делает приложение. То есть от ситуации.

>или у них универсальная переменная там есть?
Многопоточность это сложная вещь, ты не можешь просто поставить где-то циферку, и опа, твое приложение стало многопоточным, нужно переписывать его с нуля.
Аноним 02/08/18 Чтв 21:44:05 #29 №3015997 
>>3015250
Лол.

Тащемто, заметил давно, 10летней давности игры на современном железе пердят и кряхтят.
Аноним 02/08/18 Чтв 22:00:17 #30 №3016022 
>>3013955
Скорее не старый код, это потоки драйверов устройств, дергаемые из библиотек функции (d3d например), которые шедулер кидает в разные потоки, больше от ОС зависит. А вот если как в упомянутой арме, не оценить время исполнения различных потоков или точить под 2-4 параллельных, то на 6 и больше будет пиздец, ядро отработало инструкцию и десяток-другой тактов ждёт, когда другой поток заберёт результат, и он же, или третий поток даст ему данные/инструкцию для следующей итерации.
Аноним 02/08/18 Чтв 23:10:26 #31 №3016108 
>>3015997
На самом деле это был камень в огород кривого движка Армы и её производных на том же движке.
Любое другое говно любой давности на этом камне полетит.
Аноним 02/08/18 Чтв 23:51:15 #32 №3016229 
>>3016108
>Любое другое говно любой давности на этом камне полетит.
А вот внезапно нет.
Еще и на видеокарту многое видимо завязано.
Старые игрушки любят оптимизации под некрожелезо, которое, тогда, давно, не было все таким унифицированным как сейчас.
И, таки, вот, ЛАТЕНТНОСТЬ доступа к памяти и выполнения инструкция возросла в современных процессорах.
Это неизбежность гетерогенных архитектур.
Современный проц конечно в тысячу раз больше инструкций может выполнить в единицу времени, а вот когда речь об одной единственной инструкции в один поток - сразу видно что король голый.
Аноним 03/08/18 Птн 09:17:28 #33 №3016539 
Всё ясно, значит для игр по факту 2-4 ядра нужно, чем больше не значит лучше, начит можно ещё лет 20 брать сугубо 4 ядерники, не переплачивая за 8/16, 16/32.
Аноним 03/08/18 Птн 11:44:59 #34 №3016820 
>>3016539
Ага, «640 килобайт хватит всем». Время не стоит на месте, да и нормальные игори параллелятся на раз. Та же GТА V нормально раскидывается на все эти сотни ядер.
Аноним 03/08/18 Птн 12:17:34 #35 №3016894 
>>3016539
>начит можно ещё лет 20 брать сугубо 4 ядерники
Тебе щас 15. Через 10 лет ты уже об играх думать не будешь.
Аноним 03/08/18 Птн 13:51:45 #36 №3017036 
>>3013767
>в простое 1% проц хавает, а запускаю игру старую 2000 года и проц все 16 потоков блять грузит под 80%
давай сюда два скрина диспетчера задач:
1. С графиками
2. С вкладкой с процессами, с сортировкой по ЦП по убыванию.
Аноним 05/08/18 Вск 11:49:13 #37 №3020337 
>>3011528 (OP)
Потому что твоя драгоценная видимокарта - железка крайне тупая и ничего толком не умеет, кроме как очень-очень быстро и в промышленных масштабах считать всякую линейную алгебру и тригонометрию. В том числе и управлять процессом рендеринга, подготавливать данные, выделять/освобождать память, etc. Твой игродел в своем потоке вызвал какой-нибудь glDrawArrays и в хуй не дует, а драйвер видеокарты в это время скачет кабанчиком. А планировщик CPU в операционке вешает всю эту суету на другое свободное ядро.
Аноним 06/08/18 Пнд 15:16:02 #38 №3022289 
>>3011528 (OP)
Нет ничего однопоточного - включу в диспетчере задач отображение потоков и убедись
comments powered by Disqus

Отзывы и предложения