|
|
15.10.2010, 00:57
|
#204
|
|
Re: G4 ArcaniA: Технические вопросы
2Shifroval: Мне немца отвечают, что просто ThreadConfig platform="PC" cores="4" поправь в ProcessManager.xml - и будет тебе счастье в виде загрузки всех ядер. А я им отвечаю мол "братцы, ну не считывает моя локализованная версия Arcania.exe данные из файла ProcessManager.xml". Так они не верят. Я, кстати, ProcessManager.xml правил и в директории где он находится изначально, и в директорию с другими пользовательскими конфигами и сэйвами записывал уже поправленный - нулевой результат. А как только .exe поправил - сразу все ядра загрузились. Сейчас пробую разобраться с параметрами секции в .exe файле:
<ThreadConfig platform="PC" cores="4" > <Thread hardware-mask="ffffffff" thread-pool-mask="00000006" /> <Thread hardware-mask="ffffffff" thread-pool-mask="fffffff9" /> <Thread hardware-mask="ffffffff" thread-pool-mask="fffffff9" /> <Thread hardware-mask="ffffffff" thread-pool-mask="fffffff9" /> </ThreadConfig>
Добавление от 10/15/10, в 01:00:38 2LoneWolf E: набор кодеков какой устанавливал для win7 64-bit? У меня, например, K-Lite Mega, который я периодически обновляю.
|
|
|
15.10.2010, 01:19
|
#205
|
|
Re: G4 ArcaniA: Технические вопросы
2vasistep: Я бы дал ехе от демки и европейки, но у меня нет места их поставить, лол ;D А так конечно было бы неплохо отследить что же такого хорошего было в демке, что фпс не хромал. И это ли было введено в хотфиксе, или же там что то иное. Ещё говорят нашли какую то строку с
"равномерное распределение памяти"
|
где рядом стоит False. И ещё некоторые параметры работы с памятью для рендеринга, стриминга и пр. Где это видел уже не помню, моск едва соображает уже -_-
|
|
|
15.10.2010, 02:08
|
#210
|
|
Re: G4 ArcaniA: Технические вопросы
2ukdouble1:
В winhex - слева байты, справа - текст.
|
Я ещё не настолько туп ;D Но так или иначе, он выглядит как набор левых символов, во всех кодировках. Иначе бы не спрашивал.
|
|
|
15.10.2010, 02:09
|
#211
|
|
Re: G4 ArcaniA: Технические вопросы
Исследование параметров ProcessManager.xml в Arcania.exe
Cпойлер(щелкните, чтобы прочесть):
Если обратили внимание, у каждго процесса движка игры есть секция с описанием параметров: <CreateProcess instance-name="имя_процесса" [параметры]> <ConstraintInterval interval-length="значение" /> <Message type="название" /> </CreateProcess> Например: <CreateProcess instance-name="main" memory-size="80000000" type="Gothic4Process" thread-pool-bit="2" memory-synchronized="false" memory-logged="false" stall-time="1" > <ConstraintInterval interval-length="1" /> <Message type="Gothic4InitMessage" /></CreateProcess> <CreateProcess instance-name="renderer" memory-size="140000000" type="SBRendererProcess" memory-synchronized="true" memory-logged="false" thread-pool-bit="1" stall-time="1" > <ConstraintInterval interval-length="1" /> <Message type="SBRendererInitMessage" /></CreateProcess>
Есть секция создания группы: <CreateGroup name="main_group" ><ProcessInstance name="main" /></CreateGroup> <CreateGroup name="renderer" ><ProcessInstance name="renderer" /></CreateGroup>
Есть параметр: thread-pool-bit="значение", который задает индекс бита (1..8 или 0..7 ?) который отвечает за идентификацию вычислительной "нити" thread из набора привязанных к ядру в разделе <Thread hardware-mask="значение" thread-pool-mask="значение" />
Я привел соответствующий блок параметров в Arcania.exe к такому виду. Данная правка работает.
<ThreadConfig platform="PC" cores="4" > <Thread hardware-mask="ffffffff" thread-pool-mask="00000001" /> <Thread hardware-mask="ffffffff" thread-pool-mask="00000002" /> <Thread hardware-mask="ffffffff" thread-pool-mask="00000004" /> <Thread hardware-mask="ffffffff" thread-pool-mask="00000008" /> </ThreadConfig>
Я представляю себе так: 1. "Нить" с маской "00000001" привязывается к "ffffffff" (любому?) ядру процессора. Параметр thread-pool-bit="1" для процесса "render" назначает "нить" с идентификатором по первому биту thread-pool-mask="00000001". 2. "Нить" с маской "00000002" привязывается к "ffffffff" (любому?) ядру процессора. Параметр thread-pool-bit="2" для процесса "main" назначает "нить" с идентификатором по второму биту thread-pool-mask="00000002".
Таким образом, для процессов "main" и "render" назначены отдельные "нити". И если подобные назначения "нитей" присвоить всем процессам по отдельности, задав параметр thread-pool-bit в соответствующей секции описания процесса - мы сможем разделить выполнение процессов по конкретным ядрам.
Жаль, что без возможности считывать данные из ProcessManager.xml нельзя проверить на практике мои предположения.
|
|
|
15.10.2010, 02:16
|
#212
|
|
Re: G4 ArcaniA: Технические вопросы
2Shifroval:
Cпойлер(щелкните, чтобы прочесть):
|
|
|
15.10.2010, 02:29
|
#213
|
|
Re: G4 ArcaniA: Технические вопросы
2vasistep: http://forum.jowood.com/showpost.php?p=2610556&postcount=20 Ээммм...т.е для 2 ядер все шаманства бестолку? Жаль.. Я так надеялся :-/
Cпойлер(щелкните, чтобы прочесть):
Криворукие холопы Спеллы!! >:(
|
|
|
15.10.2010, 02:31
|
#214
|
|
Re: G4 ArcaniA: Технические вопросы
Это так и должно, что деревья время от времени (возможно перед дождем, замечал пока 2 раза всего) качались так, словно казалось, что они танцуют, глаз такое зрелище не радовало, где деревья чуть ли не под 60 градусов от земли наклонялись, а потом в другую сторону так же, только раздражало и пугало немножко :) . (вся графика на максе, без патча) Больше похоже было, словно в центре урагана какого-то...
|
|
|
15.10.2010, 02:54
|
#215
|
|
Re: G4 ArcaniA: Технические вопросы
2vasistep:
3. Открывает в hex редакторе файл Arcania.exe. 4. Ищем строку PC="1"
|
Идея отличная, но у меня не находит такого в экзешнике. Ты уверен, что именно такую строку? По какому оффсету она у тебя? UPD: "PC" Тоже пробовал. Какая у тебя версия?
|
|
|
15.10.2010, 03:24
|
#217
|
|
Re: G4 ArcaniA: Технические вопросы
2vasistep:
строка ThreadConfig platform="PC" cores="1" или "PC" смещение 00979109
|
не находит :( по этому смещению и рядом у меня нули сплошные. У меня англ версия
|
|
|
15.10.2010, 06:06
|
#219
|
|
Re: G4 ArcaniA: Технические вопросы
2vasistep:
а когда ты правишь ProcessManager.xml у тебя сколько ядер загружено
|
Ты ж вроде сам говорил, что его правь/не правь - один черт? Флуд, но не мог не запостить анекдот: У этих современных игр требования как у террористов.. ;D
|
|
|
15.10.2010, 08:11
|
#221
|
|
Re: G4 ArcaniA: Технические вопросы
Оффф : [p=@allmods]
Исследование параметров ProcessManager.xml в Arcania.exe
|
Я плакаль ! Кто был програмистом у джвуда ? Индийцы ? Китайцы ? Руссские мод мейкеры ? Позор :-( Добавление от 10/15/10, в 08:13:40
Вообще почитав вас я поражаюсь .....вы что решили просто перепрограмировать движок ? Вам заняться нечем ? Игр больше нет ? [/p] флуд и оффтопик были тут :)
|
|
|
15.10.2010, 10:11
|
#224
|
|
Re: G4 ArcaniA: Технические вопросы
2Vetusto:
Не помогло. Видяху, видимо, гнать придется.
|
Я пробовал-ни одного фпс =(
|
|
|
15.10.2010, 11:54
|
#227
|
|
Re: G4 ArcaniA: Технические вопросы
2vasistep:
а когда ты правишь ProcessManager.xml у тебя сколько ядер загружено, когда ты переключаешься из игры в TaskManager? <SpellboundApp root-memory="28388608" runner="PMRunnerDefault" > такая строка есть в твоей версии Arcania.exe? Ты, кстати, Process Explorer используешь вместо TaskManager?
|
Кстати, ProcessManager.xml у меня вычитывается - если его нет или если ставить неадекватные значения, игра не запускается. Оба ядра загружены одинаково. Но, вот, производительность совсем неправильная - 14 фпс в пещере с королем, где тормозить как бы совсем нечему. Готика 3 такую же примерно по качеству картинку в разы быстрее выдает.
|
|
|
15.10.2010, 12:04
|
#228
|
|
Re: G4 ArcaniA: Технические вопросы
2luciano: Я так понимаю, судя по отзывам немецких друзей, что Arcania.exe от Акеллы отличается от других локализаций. В внутри файла от Акеллы есть xml текст, почти аналогичный тому, что присутствует в ProcessManager.xml. В других версиях Arcania.exe, английской, например, такого нет. Вот я и предлагаю проверить тем, у кого Arcania.exe не от Акеллы - измените ThreadConfig platform="PC" cores="1" на 4 (для 4-х ядерного процессора) или на 2 (для двухядерного процессора) в файле ProcessManager.xml, запустите игру, а потом зайдите в TaskManager и посмотрите загрузку по ядрам.
Кроме того, я прошу тех, у кого установлена демо версия Arcania: Gothic 4. Найдите в файле демо-версии Arcania.exe строку <SpellboundApp root-memory="28388608" runner="PMRunnerDefault" > Скопируйте весь текст между этой строкой и строкой </SpellboundApp> включительно и разместите в этом топике.
Добавление от 10/15/10, в 12:16:37 2Corvin666: как мне кажется, основная проблема с локализацией от Акеллы наблюдается на 4-х ядерных процессорах. Локализация от Акеллы данные файла ProcessManager.xml не читает. Это факт. Только что проверил - удалил ProcessManager.xml из директории \Data\configuration\ . Игра запустилась. Так что если кто может донести эту проблему до Акеллы - не стесняйтесь, поругайте кого следует. Пусть исправляют ошибку, которая приводит к тому, что данные файла ProcessManager.xml не считываются локализованной Акеллой программой Arcania.exe.
|
|
|
15.10.2010, 13:00
|
#231
|
|
Re: G4 ArcaniA: Технические вопросы
I have i7 (4 cores). So, ThreadConfig platform="PC" cores="4" in Arcania.exe work for me. All 4 cores have load by Arcania.exe
|
О! Я видимо всё пропустил, скажите пожалуйста как сделать чтобы грузило все 4 ядра, а то грузит только одно и нагревается в основном оно больше всех. А вообще игра умеет использовать Hyper Threading? У i7 ведь 8 потоков как никак. Или разрабы забыли о многопоточности совсем-совсем?
|
|
|
15.10.2010, 13:02
|
#232
|
|
Re: G4 ArcaniA: Технические вопросы
Вот сравнение FPS до и после установки патча: 1. Фешир
Cпойлер(щелкните, чтобы прочесть):
2. Аргаан
Cпойлер(щелкните, чтобы прочесть):
|
|
|
15.10.2010, 13:05
|
#233
|
|
Re: G4 ArcaniA: Технические вопросы
ThreadConfig platform="PC" cores="1" или "PC"
|
кто умеет шаманить с хак программами, а что если поставить cores=" 8" ? :D
|
|
|
15.10.2010, 13:08
|
#234
|
|
Re: G4 ArcaniA: Технические вопросы
2vasistep:
Вот я и предлагаю проверить тем, у кого Arcania.exe не от Акеллы - измените ThreadConfig platform="PC" cores="1" на 4 (для 4-х ядерного процессора) или на 2 (для двухядерного процессора) в файле ProcessManager.xml, запустите игру, а потом зайдите в TaskManager и посмотрите загрузку по ядрам.
|
Пробовал. Загрузка примерно одинаковая, разницы в фпс почти нет.
|
|
|
15.10.2010, 13:48
|
#237
|
|
Re: G4 ArcaniA: Технические вопросы
2vasistep:
Как и что - смотрите посты начиная с #178.
|
Собери пожалуйста эту информацию в единую инструкцию. Прикрепим в шапке темы. С меня плюстк в репу ;)
|
|
|
15.10.2010, 14:23
|
#239
|
|
Re: G4 ArcaniA: Технические вопросы
На самом деле всё очень просто, Аркания упирается в процессор, причём рогами, дело в том, что все эти потоки раскиданные по разным ядрам выполняются по очереди, т.е. основной процесс запускает их по очереди и ждёт завершения выполнения перед тем как запустить следующий, либо потоки ждут друг друга. Суммарная нагрузка по всем ядрам таким образом составляет примерно 100%, т.е. получается почти тоже самое что и запускать игру на одном ядре. А небольшая прибавка к фпс получается за счёт того, что драйвер видеоадаптера и библиотеки DirectX, которые выполняют часть своей работы асинхронно, и часть из них висит на том же ядре что и игра, получают при таком раскладе больше процессорного времени. Ощутимо поможет разве что разгон процессора или переписывание движка игры! И ведь самое смешное в том, что в этой игре нечему так тормозить вообще даже на одном ядре! Т.е. написать такой тормозной движок как в Аркании или так бездарно его использовать надо ещё очень постараться.
|
|
|
15.10.2010, 14:39
|
#240
|
|
Re: G4 ArcaniA: Технические вопросы
2fokon: Дело в том, что "ковыряние" в .exe это "костыли". Надо пинать Акеллу - пусть скажет, почему не считываются данные из файла ProcessManager.xml . Вопросы оптимизации игры решались бы так, как задумал разработчик. Инструкция: как равномерно загрузить 4-ре ядра процессора в русской версии игры Arcania: Gothic 4 от издателя Акелла.
Cпойлер(щелкните, чтобы прочесть):
Внимание! Не проверено для европейских версий игры. Внимание! Актуально только для 4-х ядерных процессоров. Внимание! По отзывам пользователей, равномерная загрузка 4-х ядер процессора не решает проблему низкой производительности игры. Внимание! Проверено на пропатченой лицензионной русской версии игры от Акелла. Внимание! Перед внесением изменений в файл Arcania.exe, обязательно сделать копию Arcania.exeВнимание! Перед внесением изменений в файл Arcania.exe, проверьте контрольную sha1 сумму файла: 1a26053324d3481b5b6e520a3cead421141c1395 *Arcania.exe (до изменений) - контрольная sha1 сумма оригинального файла от Акеллы после патча. Скачать утилиту sha1sum.4a578ecd09a2d0c8431bdd8cf3d5c5f3ddcddfc9 *sha1sum.exe (для проверки целостности файла) Используйте hex редакторы типа: HIEW, WINHEX, FLEXHEX, HxD, HT, ExplorerSuite или что-то еще. Итак, на примере WINHEX: 1. Создать копию файла Arcania.exe 2. Запустить hex редактор. 3. Выбрать в меню "File->Open" *и указать местонахождение файл Arcania.exe. 4. Выбрать в меню "Search->Find" и ввести строку поиска ThreadConfig platform="PC" cores="1" 5. Если строка *не найдена, перейти по смещению - выбрать в меню "Position->Go to Offset" и ввести 979109 6. Справа текст, слева тоже самое в шестнадцатеричной кодировке. Подвести курсор справа к строке cores="1". Исправить "1" на "4". 7. Cохранить результат. Контрольная sha1 сумма исправленного файла: df7277611ed682f9d863ad6e371072241fcb2519 *Arcania.exe (после изменений). Если все прошло удачно, надо проверить результат: загрузите игру, переключитесь в Диспетчер Задач и проверьте равномерную загрузку всех 4-х ядер процессора. Для отображения загрузки по всем ядрам процессора в настройках Диспетчер Задач включите параметр "Вкладка Быстродействие-->Вид-->Загрузка ЦП-->По графику на каждый ЦП".
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 15:58. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|