У меня нет геймпада, не могу проверить, но этих двух замен должно быть достаточно. В версиях 2.10/2.11: заменить EBBF48837E1800EB3F => EBBF48837E1800753F и 8A87C800000032C00F841A010000 => 8A87C800000084C00F851A010000 Или запустить patch.php без дополнительных твиков.
Hi, I'm inspired by your work, because maybe I'll finally be able to play patch 2 Cyberpunk.Tell me, is there any progress to fix POPCNT for intel? I can try to help with the testing.
We with Wotix have tested something and decided that the fastest solution is to use Gravechapa's hotpatch. It is outdated, but here I can help. For 2.10 or 2.11 version, which do you prefer? I do not have an ability to deal with 2.12 right now.
Я так понял вы Русский, верно? Просто так наверно проще будет коммуницировать. Сейчас у меня стоит 2.11 патч киберпанка, но я честно говоря не до конца(точнее вообще не понял) как пользоваться хот патчем от Гравицапы.
As we have tested on 2.10 version, the provided python script (from the hotpatch) took about 98% of POPCNT instructions in the file. The rest should be corrected manually via HEX editor. This is icudt.dll for 2.11 version: https://drive.google.com/file/d/1W0EKZdBg_9Wd3tj62XPpPs8YdPbidEQW/view When the game crashes, hotpatch.log will be created. Post here the last string of this file.
(Уже написал на английском, так и отправлю. Если на русском, то давай лучше на "ты", так будет удобнее.)
Файл скомпилирован по способу от Gravechapa, плюс я на всякий случай добавил логирование c0000005 ошибок. Когда игра упадёт (если упадёт), будет создан файл hotpatch.log. Из него интересует только последняя строчка.
Ну после двух часов игры крашей не вылезло, однако общий фпс даже на минималках не радует(наверно проблема в самом патче 2.11), по сравнению с 1.61 патчем это земля и небо. UPD: Потестил любые настройки игры - не знаю что и сказать. Могу предположить, что возможно POPCNT задевает что-то важное в работе движка, ибо любые настройки игры вплоть до минимальных и 1280х720 стабильно выдают 12-13 кадров, не больше. Как будто что-то ограничивает работу игры - приоритет при этом выставлен на самый максимальный, игра работает от имени администратора, антивирус выключен. В сравнение с 1.61 патчем не идет, ибо там выдавал фпс примерно 30-40 на моем древнем процессоре. Чтож, обидно:( Попробую конечно поэкспериментировать с версиями ГОГа и Стима, посмотрю что выйдет.
Безотносительно POPCNT, новые версии медленнее. По моим тестам, 2.10-2.11 выдают 7.2-7.3 FPS там, где 1.52-1.61 давали 9. Не в разы, но на 20% меньше.
А версию 1.61 ты на каком эмуляторе запускал, от Лютера? У него принцип действия другой: на этапе загрузки ищет POPCNT в памяти и заменяет их вызовами процедуры эмуляции. Хотпатч от Огурца перехватывает обработку уже случившейся ошибки, и если её адрес совпадает с одной из найденных скриптом Гравицапы, то запускает эмуляцию. Это медленнее; когда я выше назвал быстрым это решение, то имел в виду, что его быстрее сделать. Но вряд ли оно должно так сильно влиять на производительность, не тысячами же в секунду они вызываются? Хотя это я, наверно, смогу подсчитать...
Меняю сейчас версию на стимовскую репакера, от которого я использовал 1.61 версию. Попробую проверить её, ибо это и вправду странно. Я тоже слышал что 2 патч неплохо убил производительность, но не настолько же чтобы стабильно выдавать 12 кадров на любых настройках и на любых разрешениях. Насчет патча на 1.61 - автора я не знаю, но тот патч был завязан на замене bink2w64.dll, так что возможно это и был Лютер. UPD: Ситуация вообщем-то не поменялась, видимо придется терпеть столь низкие кадры. К слову, небольшая заметка если будет полезна - при выходе в эскейп, главное меню, да даже если читать сообщения в телефоне - фпс резко возрастает.
Подсчитал. POPCNT вызываются сотнями тысяч в секунду. И в городе, и в меню, и на карте, и в сообщениях в телефоне, но особенно много - в процессе загрузки сохранения. Конечно же это бьёт по производительности.
I can't reproduce this error, but i'll do what I can. Could you make the version without additional tweaks (using patch.php) and check if the error persists?
I only use the exe file you provided without the tweaks. But i think some of my game's files are corrupted. I will reinstall it and try later again
Edit: It night be not the mod problem, but the game problem. I saw this article on https://forums.cdprojektred.com/index.php?threads/when-starting-the-game-after-2-01-patch-the-game-wont-let-you-through-the-initial-screen.11122309/
Edit 2: It run normally again, just use -skipStartScreen in arguments line or in steam launch option
Hey, I was wondering if you could make a modified EXE for Ryzen processors of the previous generations (i.e. Zen - Zen2+). The game has lost more performance with each update as far as these processors are concerned. As an example: I have an R7 3700x all core OC 4.2 Ghz and an RTX 3090 with FSR3 mod. I can easily get 140 or more FPS with all settings on ultra @ 1440P, but the game is no longer well optimized for my processor and that's why my FPS drops massively as soon as crowds appear. In CP77 1.5 and below this wasn't a problem, as I could leave this setting on high without the FPS suffering that much.
You would probably do a lot of people a big favor...
As you can see, my GPU utilization is ok so far and it goes up to 98% but my CPU utilization never goes above 70% as a whole.
Ok..I read about it and the fix is simple with a HEX Editor, but the new 2.11 exe has different Hex values and i can´t identify the right line of code...and CET removed the Patch sadly.. So maybe the code Guru victor653 can make a fixed exe for 8 core utilization ^^
There is a similar function in versions 2.0-2.11 that contains the sequence 75 3D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08 if you change the first byte to 'EB', the effect is expected to be the same (but I can't verify it by myself). I have checked, at least the game doesn't crash.
ok cool i will try that, and thanks for your reply ^^
Edit: After a short test I can say that it definitely made a difference, my CPU usage now increases to 90%! Maybe more but I have to test/play longer to be sure...
Edit 2:
Now my CPU usage is much higher (and hard to capture^^) and it can go up to 94% and maybe higher (it is really hard to capture, it jumps up and down)
So thank you, you really helped me :) (and I don't have to buy a new processor)
I wonder how people expect malware where it shouldn't be. A virus means distribution, it should be something more interesting and popular. It is absolutely illogical to do so in a hardware-specific open-source project, especially here, on a site with pre-moderation.
All true aside the pre-moderation, there were a lot of infected files that appeared on Nexus that Nexus moderation only took out after 500 downloads or more, but generally they're thing like PERFORMANCE OBLIGATORY FILES FULL FPS DOWNLOAD THIS TOTALLY NOT VIRUS 900+ FPS
get comodo firewall if you're feeling that paranoid.. funny how people seem to know a lot about infected files nowadays but know little to nothing about easy ways to simply prevent those types of exes owning their system xdd
Привет, мне требуется помощь. Код ошибки: Error reason: Unhandled exception Expression: EXCEPTION_ILLEGAL_INSTRUCTION (0xC000001D) Message: The thread tried to execute an invalid instruction. File: <Unknown>(0) Процессор: Intel(R) Core(TM)2 Duo CPU E8500 Всё это относится к изменённому .exe файлу Версия игры 2.1, заранее спасибо за помощь.
Данный процессор Intel не поддерживает POPCNT инструкцию, которую поддерживают AMD атлоны. Есть вот такие решения, но я не знаю, насколько они рабочие, особенно для версии 2.1: https://github.com/Gravechapa/popcnt_hotpatch_cyberpunk https://github.com/ogurets/popcnt_emulator Если не поможет, тогда может быть я и тут справлюсь. Но только с твоей помощью, если у тебя есть время на тесты. У меня нет подходящего Intel процессора, чтобы проверить.
Давай свяжемся где-нибудь не на нексусе, в дискорде и телеграме у меня те же ники, что и на сайте. Я готов помочь тебе с твоей задумкой, время у меня всегда на такое найдётся
Я не зарегистрирован ни в дискорде, ни в телеграме. Есть электронная почта [email protected], напиши, и там придумаем, как дальше взаимодействовать. Скорее всего электронка и будет самым удобным вариантом.
There are more than thousand SSE 4.1 instructions, and most of them can't be simply bypassed without breaking the gameplay. They must be emulated. If you are really interested, you have to learn Assembler, so you can compare the patched and the original exe, disasm the tables and understand what do they do. Then you can write emulations for the new cases. Next question is where to place these tables. Modifying the exe is not the only possible approach, but the fastest one from the point of view of performance.
I'm working on 2.10 support and it is close to finish.
File NRD.dll presents in the game versions 1.22, 1.30 and 1.31. It is absent in 1.52, 1.61 and 1.62 which should run without it. Try to turn raytracing off or reinstall the game.
66 comments
EBBF48837E1800EB3F => EBBF48837E1800753F
и
8A87C800000032C00F841A010000 => 8A87C800000084C00F851A010000
Или запустить patch.php без дополнительных твиков.
https://drive.google.com/file/d/1W0EKZdBg_9Wd3tj62XPpPs8YdPbidEQW/view
When the game crashes, hotpatch.log will be created. Post here the last string of this file.
(Уже написал на английском, так и отправлю. Если на русском, то давай лучше на "ты", так будет удобнее.)
Файл скомпилирован по способу от Gravechapa, плюс я на всякий случай добавил логирование c0000005 ошибок. Когда игра упадёт (если упадёт), будет создан файл hotpatch.log. Из него интересует только последняя строчка.
UPD: Потестил любые настройки игры - не знаю что и сказать. Могу предположить, что возможно POPCNT задевает что-то важное в работе движка, ибо любые настройки игры вплоть до минимальных и 1280х720 стабильно выдают 12-13 кадров, не больше. Как будто что-то ограничивает работу игры - приоритет при этом выставлен на самый максимальный, игра работает от имени администратора, антивирус выключен. В сравнение с 1.61 патчем не идет, ибо там выдавал фпс примерно 30-40 на моем древнем процессоре. Чтож, обидно:( Попробую конечно поэкспериментировать с версиями ГОГа и Стима, посмотрю что выйдет.
А версию 1.61 ты на каком эмуляторе запускал, от Лютера? У него принцип действия другой: на этапе загрузки ищет POPCNT в памяти и заменяет их вызовами процедуры эмуляции. Хотпатч от Огурца перехватывает обработку уже случившейся ошибки, и если её адрес совпадает с одной из найденных скриптом Гравицапы, то запускает эмуляцию. Это медленнее; когда я выше назвал быстрым это решение, то имел в виду, что его быстрее сделать. Но вряд ли оно должно так сильно влиять на производительность, не тысячами же в секунду они вызываются? Хотя это я, наверно, смогу подсчитать...
UPD: Ситуация вообщем-то не поменялась, видимо придется терпеть столь низкие кадры. К слову, небольшая заметка если будет полезна - при выходе в эскейп, главное меню, да даже если читать сообщения в телефоне - фпс резко возрастает.
I run it on phenom II x6 1065t, RX 470 and 16GB of ram
Version 2.11
Edit: It night be not the mod problem, but the game problem. I saw this article on https://forums.cdprojektred.com/index.php?threads/when-starting-the-game-after-2-01-patch-the-game-wont-let-you-through-the-initial-screen.11122309/
Edit 2: It run normally again, just use -skipStartScreen in arguments line or in steam launch option
You would probably do a lot of people a big favor...
As you can see, my GPU utilization is ok so far and it goes up to 98% but my CPU utilization never goes above 70% as a whole.
So maybe the code Guru victor653 can make a fixed exe for 8 core utilization ^^
Thats what i´ve found:
75 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08 - Original
EB 2D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08 - 8 core SMT Fix
But as i said, i can´t find the line in the new exe
75 3D 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08
if you change the first byte to 'EB', the effect is expected to be the same (but I can't verify it by myself). I have checked, at least the game doesn't crash.
Edit: After a short test I can say that it definitely made a difference, my CPU usage now increases to 90%! Maybe more but I have to test/play longer to be sure...
Edit 2:
Now my CPU usage is much higher (and hard to capture^^) and it can go up to 94% and maybe higher (it is really hard to capture, it jumps up and down)
So thank you, you really helped me :)
(and I don't have to buy a new processor)
cheers. :)
Код ошибки: Error reason: Unhandled exception
Expression: EXCEPTION_ILLEGAL_INSTRUCTION (0xC000001D)
Message: The thread tried to execute an invalid instruction.
File: <Unknown>(0)
Процессор: Intel(R) Core(TM)2 Duo CPU E8500
Всё это относится к изменённому .exe файлу
Версия игры 2.1, заранее спасибо за помощь.
https://github.com/Gravechapa/popcnt_hotpatch_cyberpunk
https://github.com/ogurets/popcnt_emulator
Если не поможет, тогда может быть я и тут справлюсь. Но только с твоей помощью, если у тебя есть время на тесты. У меня нет подходящего Intel процессора, чтобы проверить.
I'm working on 2.10 support and it is close to finish.