![]() |
![]() |
![]() |
#12 |
Опытный
|
![]()
Давайте с картинками, чтобы было понятней:
Случай 1, параметр PerfEnablePackageIdle = 0. При этом частота каждого ядра регулируется независимо, по мере его загрузки. Запускаем Winrar, садим его на одно ядро и вот что видим: ![]() Одно ядро загружено на 100% и работает на полной частоте, остальные - на минимальной, т.к. на них загрузки нет. Если мы снимем Winrar c одного ядра и посадим на оба, он влегкую загрузит оба, и второе ядро тоже перейдет на полную частоту. Но в случае с MSTS картина совсем другая, приложение-то однопоточное. В лучшем случае ОС корректно это определит и не станет распараллеливать нагрузку, хоть вы ее об этом и просите. В худшем - она отдаст процентов 30 на второе ядро, КОТОРОЕ ОСТАНЕТСЯ РАБОТАТЬ НА МЕНЬШЕЙ ЧАСТОТЕ. Получается некая рассинхронизация, у меня это приводит к падению FPS раза в полтора. Подключаем третье, четвертое ядро - FPS падает еще сильнее. Случай 2, параметр PerfEnablePackageIdle = 1. В данном варианте частоты всех ядер регулируются одновременно, то есть если хотя бы одно из них чем-то загружено, все остальные тоже будут работать на полной частоте. ![]() (на разницу 3000-3200Мгц внимания не обращайте, это невовремя включенный разгон) Здесь, при принудительном распараллеливании MSTS на несколько ядер падения FPS почти нет. Точнее, вроде бы что-то есть, но в пределах 1-3 FPS. На фоне 30 - несущественно. Но по энергосбережению, нагреву радиатора CPU, повышение темпертуры воздуха в корпусе и т.п. разница значительная. Градусов на 5-8 с моим пассивным охлаждением процессора. Смысла делать так я не вижу. И самое главное. Повышения производительности при подключении второго и остальных ядер к процессу train.exe не наблюдалось ни разу. В лучшем случае FPS не падал. Как я понимаю, чтобы получить выгоду от второго ядра, процесс должен уметь это делать (загружать одно ядро на 100%, подключать еще одно, скажем, на 30%, итого 130% загрузки). Средствами ОС этого не сделать. ОС может раскидать ваши 100% по разным ядрам в зависимости от их загрузки другими приложениями, и таким образом устроить одновременную работу того же винрара и мстс без потери производительности в обоих, но сделать загрузку более 100% для однопоточного приложения - не может. Решения я вижу в установке CPU Control с установкой для train.exe единственного, отдельного, незагруженного вашими фоновыми задачами ядра. Тестирование производилось на статичной сцене, поезд стоял на станции. FPS на одном ядре 28-30, при распараллеливании падал сначала до 16, потом до 11 и до 7. AMD Phenom II x3 720 с разблокированным четвертым ядром. Radeon 4850 512Mb. 1280x1024, полностью включенная анизотропия и сглаживание. P.S. Для сравнения с земляком Алексеем, напустившим всех собах на сложные маршруты. В Зилупе на перегонах FPS у меня под 40. ![]() ![]() И я - за красивую КС. Последний раз редактировалось Radiotrance; 16.12.2009 в 11:23. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
|
![]() Что это? |