Форум Trainsim  

Вернуться   Форум Trainsim > Microsoft Train Simulator > MSTS - Об игре

 
 
Опции темы Опции просмотра
Старый 16.12.2009, 11:13   #12
Radiotrance
Опытный
 
Регистрация: 23.03.2008
Адрес: Новосибирск
Сообщений: 145
Вы сказали Спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
Radiotrance стоит на развилке (репутация по умолчанию)
Отправить сообщение для Radiotrance с помощью ICQ
По умолчанию

Давайте с картинками, чтобы было понятней:

Случай 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.
Radiotrance вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 21:32. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?