нужны ли 6 ядер в наше время?

Описание: Любые вопросы по процессорам. Помощь в выборе, проблемы, охлаждение, разгоны.
Правила раздела: http://pc-forums.ru/topic1981.html
Модератор: Junior

#1 lddontstop » 09.01.2013, 16:56

Доброго времени суток.
Задался вопросом использования многоядерности процессоров последними вышедшими играми. В Интернетах ничего конкретного не нашел. Полагаю, что на форуме аудитория более компетентна, чем вообще, и надеюсь на Вашу отзывчивость и поддержку в данном "конфликте":
1. AMD Phenom II X6 1075T 3.0ГГц или AMD Phenom II X4 980 Black Edition 3.7ГГц?
[spoiler=Рассматриваемые игры:]Dota 2
StarCraft 2
Witcher 2
FarCry 3
Grand Theft Auto 4
Counter Strike Global Offensive
Diablo 3
Battlefield 3
Metro 2033
Stalker Clear Sky
Skyrim[/spoiler]
Что я знаю: Если игра использует 2-4 ядра, то более высокочастотные х4 дадут бОльшую производительность, чем 3.0ГГц х6.
Ядра грузятся ОС, и фоновыми программами. Отсюда еще вопрос:
2. Правильно ли я понимаю, что при 6 ядрах: 4 ядра пойдет на игру, 1 на ОС, 1 на остальной хлам?
П.С. Понимаю, что вопросы глупы, но если не сложно :help:
Заранее благодарен.
П.С.С. В проекте использование Xsplit'a (на который нужно 2 ядра).
Видео hd 7770 или hd 7850
lddontstop
Автор темы, Новичок форума
Новичок форума
Репутация: 0
Лояльность: 10 (+10/−0)
Сообщения: 6
Темы: 4
Зарегистрирован: 23.12.2012
С нами: 3 года 11 месяцев

нужны ли 6 ядер в наше время?

 

#2 zix » 09.01.2013, 17:04

Обзорчик и тесты. Все познается в сравнеинии.
Дорогу осилит идущий

Изображение
zix M
Поддержка
Поддержка
Аватара
Возраст: 47
Откуда: Калужская обл
Репутация: 1066
Лояльность: 445 (+446/−1)
Сообщения: 15721
Темы: 146
Зарегистрирован: 17.12.2011
С нами: 4 года 11 месяцев

 

#3 Stranger » 09.01.2013, 20:52

lddontstop писал(а):2. Правильно ли я понимаю, что при 6 ядрах: 4 ядра пойдет на игру, 1 на ОС, 1 на остальной хлам?

К сожалению, Вы ошибаетесь. Предсказать заранее как именно ОС распределит процессы по разным ядрам невозможно. Да и не нужно - для Вас от этого в любом случае ничего не меняется.
Определенно можно утверждать только одно: никакого отдельного ядра "для ОС" выделено не будет. И не может быть. Поскольку операционная система сама по себе процессом не является. Она представляет из себя совокупность разнообразных программных модулей, которые могут быть процессами, подпрограммами, обработчиками прерываний и так далее. Разные части диспетчеризуются по-разному. Для некоторых процессов создается несколько копий по числу логических процессоров в системе и каждый из них исполняется на выделенном для него логическом процессоре.
К примеру, такими процессами являются те, которые исполняются во время простоя системы и управляют переводом процессора в энергосберегающие состояния.
Некоторые системные процессы действительно могут исполняться на отдельном ядре, но смысла в этом очень мало - накладные расходы ОС на диспетчеризацию превышают выигрыш от исполнения какого-то кода на отдельном ядре.
В большинстве случаев процедуры ОС вызываются посредством API либо прерываний и исполняются на том же процессоре, на котором работает процесс выполнивший системный вызов или вызвавший прерывание.

К чему я это рассказываю? К тому, чтобы Вы исключили "ядро для ОС" из своих подсчетов.
Да и предположение о том, что "4 ядра пойдет на игру" тоже представляется чрезмерно оптимистичным.
Даже в тех случаях, когда игра действительно создает 4 нити (thread), обычно бывает выгоднее исполнять некоторые из них на одном ядре, а не выделять по ядру на нить. Почему? Потому что нити обычно имеют общие области памяти, а обеспечение когерентности кэша между разными ядрами стоит чересчур дорого.
Поэтому не рассчитывайте, что диспетчер выделит и жестко зафиксирует определенные ядра за определенными процессами. Отнюдь. Он будет тасовать их как колоду карт, перекидывая с одного ядра на другое, причем далеко не всегда его действия будут оправданы с точки зрения повышения производительности.

Резюме: на сегодняшний день никакого выигрыша от самого факта наличия у Вас шести ядер в играх Вы не получите. Как будет завтра, сказать не могу...
Stranger
Житель форума
Житель форума
Возраст: 50
Откуда: Москва
Репутация: 103
Лояльность: 34 (+34/−0)
Сообщения: 550
Темы: 5
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца

#4 DDX777 » 09.01.2013, 21:38

Прочтите Простые советы по оптимизации игр. возможно чем то поможет.
Одни зацикливаются на задаче, другие же ищут решение, - как поступать решать вам.
DDX777 M
Эксперт
Эксперт
Аватара
W W
Возраст: 24
Откуда: Черкесск, КЧР, Россия
Репутация: 357
Лояльность: 237 (+237/−0)
Сообщения: 5462
Темы: 68
Зарегистрирован: 31.03.2012
С нами: 4 года 8 месяцев

нужны ли 6 ядер в наше время?

 

#5 Stranger » 09.01.2013, 21:49

DDX777 писал(а):Прочтите Простые советы по оптимизации игр. возможно чем то поможет.


Вы там даете интересный совет:
"Для того чтобы заставить работать игрушку на всех наших ядрах мы должны нажать правой кнопкой мыши по процессу игры и выбрать CPU 1+2 т.д. в зависимости от количества ядер на нашем компьютере."
То есть, Вы считаете, что любой процесс (игра, в данном случае) будет работать на стольких ядрах, сколько Вы ему выделите?
DDX777 писал(а):Не забывайте ставить галочку 4 ядра в настройках программы если у вас 4 ядра.
Stranger
Житель форума
Житель форума
Возраст: 50
Откуда: Москва
Репутация: 103
Лояльность: 34 (+34/−0)
Сообщения: 550
Темы: 5
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца

#6 DDX777 » 10.01.2013, 14:10

Я проверял на практите (и кстати вы можете тоже) сначала запускаете просто игру и играете минут 5, потом ее же запускаете с использованием CPU Control разницу сами увидите.
Одни зацикливаются на задаче, другие же ищут решение, - как поступать решать вам.
DDX777 M
Эксперт
Эксперт
Аватара
W W
Возраст: 24
Откуда: Черкесск, КЧР, Россия
Репутация: 357
Лояльность: 237 (+237/−0)
Сообщения: 5462
Темы: 68
Зарегистрирован: 31.03.2012
С нами: 4 года 8 месяцев

 

#7 Stranger » 10.01.2013, 14:42

DDX777 писал(а):Я проверял на практите (и кстати вы можете тоже) сначала запускаете просто игру и играете минут 5, потом ее же запускаете с использованием CPU Control разницу сами увидите.

Попробовал на игре Quake 2. Разницы никакой... :blum:
Stranger
Житель форума
Житель форума
Возраст: 50
Откуда: Москва
Репутация: 103
Лояльность: 34 (+34/−0)
Сообщения: 550
Темы: 5
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца

#8 zix » 10.01.2013, 16:41

Stranger писал(а):Попробовал на игре Quake 2.
Вы бы еще Doom2 вспомнили..Речь идет о современных играх.
Дорогу осилит идущий

Изображение
zix M
Поддержка
Поддержка
Аватара
Возраст: 47
Откуда: Калужская обл
Репутация: 1066
Лояльность: 445 (+446/−1)
Сообщения: 15721
Темы: 146
Зарегистрирован: 17.12.2011
С нами: 4 года 11 месяцев

нужны ли 6 ядер в наше время?

 

#9 Stranger » 10.01.2013, 18:24

zix писал(а):Вы бы еще Doom2 вспомнили..Речь идет о современных играх.

Разве? В описании про это ни слова не было. Но, хорошо, пусть будут современные. Вы полагаете, что сейчас что-нибудь изменилось? Каждая игра создает какое-то количество нитей. Я для примера специально выбрал игру, относительно которой никто не станет возражать, что она работает с единственной нитью.
Допустим, какая-то современная игра создает 2, 3 или 4 нити. Хорошо, выделю я под неё все 12 логических процессоров. Ей от этого лучше станет? Она сама себя на 12 нитей распараллелит? Сами же знаете, что нет.
В то же время, автор рекомендует выделять игре все ядра и полагает, что это "заставит работать игрушку на всех наших ядрах".
Согласитесь, это не вполне соответствует действительности, что и было наглядно продемонстрировано на примере Quake 2.

P.S. Если бы существовала возможность "заставить игру использовать все процессоры", то AMD FX-8xxx были бы одними из самых быстрых игровых процессоров в мире, а core i7 оставляли бы в играх далеко позади своих собратьев серии i5.
Но сами же знаете, что этого не происходит и сами неоднократно отговаривали людей от покупки i7 для игровых компьютеров. Разве не так?
Stranger
Житель форума
Житель форума
Возраст: 50
Откуда: Москва
Репутация: 103
Лояльность: 34 (+34/−0)
Сообщения: 550
Темы: 5
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца

#10 zix » 10.01.2013, 18:32

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

Изображение
zix M
Поддержка
Поддержка
Аватара
Возраст: 47
Откуда: Калужская обл
Репутация: 1066
Лояльность: 445 (+446/−1)
Сообщения: 15721
Темы: 146
Зарегистрирован: 17.12.2011
С нами: 4 года 11 месяцев

#11 DDX777 » 10.01.2013, 18:35

Программа рассчитана для работы с 4 ядерными процессорами и на 6 ядерных не тестировалась, но могу сказать к примеру на ноутбуке i3 игра новая: NFS MOST Wanted лагала после запуска с CPU Control перестала лагать, еще пример DOTA 2 ей не нужна мощная видюха ей нужен многоядерный процессор, потому что при запуске на 1 ядерном компе с хорошей видюхой она лагала, а при запуске на 2 ядерном ноуте (кстати про ноуты тут говорили что на них нельзя играть) она работает вполне нормально.
Одни зацикливаются на задаче, другие же ищут решение, - как поступать решать вам.
DDX777 M
Эксперт
Эксперт
Аватара
W W
Возраст: 24
Откуда: Черкесск, КЧР, Россия
Репутация: 357
Лояльность: 237 (+237/−0)
Сообщения: 5462
Темы: 68
Зарегистрирован: 31.03.2012
С нами: 4 года 8 месяцев

#12 AleXO » 10.01.2013, 18:36

Я согласен с Stranger
Ну вот скрин работы Аваста и процессора
Что-то как-то неравномерно нагрузка идет...
Нельзя процессору присобачить так, что вот это ядро работает, а это нет. Он сам распределяет нагрузку
А игр для 6-ти ядер вроде вообще нет...
MSI 970A-G43\ AMD Athlon II x3 450 3.2GHz\ Kingston 8GB\ 2xGigabyte R9 270X\ HDD WD 1TB\Aerocool Strike X 800W\ Windows 7 Ultimate х64\ Avast 2014
Изображение
Изображение
AleXO M
Эксперт
Эксперт
Аватара
Возраст: 41
Откуда: Россия, Москва
Репутация: 563
Лояльность: 201 (+201/−0)
Сообщения: 6615
Темы: 65
Зарегистрирован: 31.05.2011
С нами: 5 лет 6 месяцев

#13 DDX777 » 10.01.2013, 18:42

Тогда вот еще вопрос имеется 3 ядерный проц, запускаю всем нам известную DR web cure it когда просто так запускаю чуть под лагивает комп, когда ставлю все процессы на авто в CPU Control не лагает.
Одни зацикливаются на задаче, другие же ищут решение, - как поступать решать вам.
DDX777 M
Эксперт
Эксперт
Аватара
W W
Возраст: 24
Откуда: Черкесск, КЧР, Россия
Репутация: 357
Лояльность: 237 (+237/−0)
Сообщения: 5462
Темы: 68
Зарегистрирован: 31.03.2012
С нами: 4 года 8 месяцев

#14 Stranger » 10.01.2013, 18:47

zix писал(а):Но все-таки в современных пргораммах предусмотрена многопоточность - некоторые симуляторы, например, просто не запускаются в системе, имеющую два ядра процессора.

Очень странно. Такое может быть в единственном случае - если программист специально в явном виде заблокировал запуск своего ПО на системах с заданным числом ядер.

А по поводу многопоточности, тут всё очень просто. Представьте себе, CPU как транспортную компанию. Ей нужно перевезти какое-то количество контейнеров с грузом.
Причем количество контейнеров задается отправителем груза. А Вы, как перевозчик, можете указать номера грузовиков, которые будут выделены для перевозки.
И выделять больше грузовиков, чем имеется контейнеров совершенно бессмысленно. В большинстве случаев бессмысленно даже выделять по грузовику на контейнер, если на один грузовик спокойно помещается два контейнера.
Stranger
Житель форума
Житель форума
Возраст: 50
Откуда: Москва
Репутация: 103
Лояльность: 34 (+34/−0)
Сообщения: 550
Темы: 5
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца

#15 DDX777 » 10.01.2013, 18:58

Многое зависит от операционной системы, к примеру на Windows Xp все на 1 ядре, на 7 и 8 эта проблема вроде решена. Но когда вы сами можете выставить к примеру все процессы на 1 ядро а игру на все ядра производительность все равно чувствуется и отсюда же вывод когда вы играете в игру вы же ничего другого не делаете, максимум некоторые музыку слушают, так зачем ядрам простаивать???
Одни зацикливаются на задаче, другие же ищут решение, - как поступать решать вам.
DDX777 M
Эксперт
Эксперт
Аватара
W W
Возраст: 24
Откуда: Черкесск, КЧР, Россия
Репутация: 357
Лояльность: 237 (+237/−0)
Сообщения: 5462
Темы: 68
Зарегистрирован: 31.03.2012
С нами: 4 года 8 месяцев

#16 zix » 10.01.2013, 19:04

Я, в общем-то и не спорю - системе оно видней. Просто однажды у ребят взял лицензионный диск с профессиональной программой-авиасимулятором. Прога провела проверку системы и доложила: "Видео - норм, память - норм, число ядер процессора недостаточно для работы программы". Я тогда еще на Е6700 сидел. На этом установка и закончилась.
АleXO, у меня похожая картинка, только нагрузка на два ядра.
Дорогу осилит идущий

Изображение
zix M
Поддержка
Поддержка
Аватара
Возраст: 47
Откуда: Калужская обл
Репутация: 1066
Лояльность: 445 (+446/−1)
Сообщения: 15721
Темы: 146
Зарегистрирован: 17.12.2011
С нами: 4 года 11 месяцев

#17 AleXO » 10.01.2013, 19:10

zix писал(а):только нагрузка на два ядра.
Но у вас четное число ядер... а у меня нет

Добавлено спустя 3 минуты 10 секунд:
Я как-то слышал, что есть какая-то прога, которая принудительно принуждает проц (ядра) работать как им сказали. Но ведь это бред. Программа не может повлиять на аппаратную часть... Проц сам по себе+ОС распределяют нагрузку... Я, если честно, особо не вникал в этот процесс... но то, что проц это сам делает, видю сам на скрине. И что за прога может распределить нагрузку по ядрам, честно, не знаю...
MSI 970A-G43\ AMD Athlon II x3 450 3.2GHz\ Kingston 8GB\ 2xGigabyte R9 270X\ HDD WD 1TB\Aerocool Strike X 800W\ Windows 7 Ultimate х64\ Avast 2014
Изображение
Изображение
AleXO M
Эксперт
Эксперт
Аватара
Возраст: 41
Откуда: Россия, Москва
Репутация: 563
Лояльность: 201 (+201/−0)
Сообщения: 6615
Темы: 65
Зарегистрирован: 31.05.2011
С нами: 5 лет 6 месяцев

#18 zix » 10.01.2013, 19:15

Сам или под управлением оси - какая разница? Главное что? Работает! Нагрузку тянет. А внутрь лучше не заглядывать. :biggrin:
Когда едешь на машине и представляешь, как крутится кардан (а он тоненький :scratch_one-s_head: ) - становится страшно :crazy:
Дорогу осилит идущий

Изображение
zix M
Поддержка
Поддержка
Аватара
Возраст: 47
Откуда: Калужская обл
Репутация: 1066
Лояльность: 445 (+446/−1)
Сообщения: 15721
Темы: 146
Зарегистрирован: 17.12.2011
С нами: 4 года 11 месяцев

#19 Stranger » 10.01.2013, 19:26

DDX777 писал(а):Но когда вы сами можете выставить к примеру все процессы на 1 ядро а игру на все ядра производительность все равно чувствуется и отсюда же вывод когда вы играете в игру вы же ничего другого не делаете, максимум некоторые музыку слушают, так зачем ядрам простаивать???

Я хотел бы чтобы Вы меня правильно поняли. К сожалению, они так или иначе будут простаивать. Для них просто не будет потока, который можно было бы обрабатывать.
По умолчанию диспетчер операционной системы (раньше участки ядра, отвечающие за процесс распределения ресурсов, называли супервизорами) распределяет процессы между ядрами тем способом, который представляется ему наиболее оптимальным.
То есть, любой процесс может исполняться на любом ядре. Если игра запускает несколько процессов, они могут быть либо распределены между разными ядрами, либо некоторые из них могут быть сгруппированы для исполнения на одном ядре.
Я сам, как уже неоднократно упоминал, не пользуюсь Windows, но в Unix есть аналогичная утилита - taskset.
Она позволяет привязать определенные процессы к определенным ядрам.
Естественно, все пользуются ей с единственной целью - запретить, допустим, какой-нибудь игре пользоваться частью ядер процессора. Насильно привязать её к какому-нибудь одному ядру. Или диапазону ядер.
Дело в том, что распределение потоков по большому числу ядер может либо замедлить работу программы (игры), либо даже привести к ошибкам и аварийному окончанию работы приложения.
Выдавать команду, которая позволяла бы процессу исполняться на любом ядре, я не вижу ни малейшего смысла.
Он и так это может (неужели Вы думаете, что ОС специально придерживает какие-то ядра в резерве?).

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

Добавлено спустя 2 минуты 2 секунды:
zix писал(а):однажды у ребят взял лицензионный диск с профессиональной программой-авиасимулятором. Прога провела проверку системы и доложила: "Видео - норм, память - норм, число ядер процессора недостаточно для работы программы". Я тогда еще на Е6700 сидел. На этом установка и закончилась.

О чем я и говорил - установщик произвел проверку числа ядер, пришел к выводу, что оно недостаточно и отказался устанавливать программу. Это не операционная система не смогла программу запустить, а программист в явном виде запретил работу программы на Вашей конфигурации.

Добавлено спустя 5 минут 48 секунд:
AleXO писал(а):И что за прога может распределить нагрузку по ядрам, честно, не знаю...

Такое вполне возможно и подобные программы действительно есть для всех ОС поддерживающих SMP.
Диспетчеру задач дается указание: исполнять такой-то процесс только на таком-то ядре. Или диапазоне ядер.
Но это не означает, что ОС действительно будет использовать все ядра из указанного диапазона для заданного процесса. Она просто знает, что ни на какие другие ядра, кроме тех, номера которых ей передали в команде, данный процесс диспетчеризовать нельзя.
Команда "используй все ядра для данного процесса" эквивалентна отмене предыдущих ограничений. Если таких ограничений не было (по умолчанию), она эквивалентна пустой команде.
Stranger
Житель форума
Житель форума
Возраст: 50
Откуда: Москва
Репутация: 103
Лояльность: 34 (+34/−0)
Сообщения: 550
Темы: 5
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца

#20 DDX777 » 10.01.2013, 19:33

Stranger вы это на практике проверяли??? Если игра рассчитана только на одно ядро то она возможно не будет выполняться на всех ядрах, но есть исключения... К примеру:
Распределённые вычисления — способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, чаще всего объединённых в параллельную вычислительную систему.

В нашей же ситуации решают задачу не несколько компьютеров, а несколько ядер.
Или же к примеру идет контрольная, несколько отличников решают не весь билет, а каждый по 1 задаче и потом обмениваются решенными задачами при этом успевают помочь себе и другим и выполняют задание быстрее. Конечно в данном случае кто то из них может ошибиться, но мы то рассматриваем машину а не человека.
Одни зацикливаются на задаче, другие же ищут решение, - как поступать решать вам.
DDX777 M
Эксперт
Эксперт
Аватара
W W
Возраст: 24
Откуда: Черкесск, КЧР, Россия
Репутация: 357
Лояльность: 237 (+237/−0)
Сообщения: 5462
Темы: 68
Зарегистрирован: 31.03.2012
С нами: 4 года 8 месяцев

След.

  • Понравилась тема? Поделись с друзьями!

Вернуться в Процессоры

 


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение