RPCS3 стал работать до 48% быстрее на Ryzen 9 9950X3D после оптимизации эмулятора PlayStation 3

Прокомментировать Просмотры: 4

Разработчик RPCS3 под ником Megamouse нашёл способ ускорить перекомпиляцию в эмуляторе PlayStation 3. Поводом стала слабая нагрузка на процессор во время компиляции.

Megamouse заметил, что «после компиляции первых модулей компиляция PPU загружает процессор лишь примерно на 20%». Он решил выяснить, почему так происходит:

Поиски привели меня к операциям выделения и освобождения
памяти в LLVM: похоже, все они используют одну общую блокировку. Проблема в
том, что со временем память фрагментируется, и множеству потоков приходится
ждать, пока снова не освободится достаточно большой непрерывный участок.

Решением, по мнению Megamouse, может стать переход на SegmentHeap. Это механизм распределения памяти в Windows. В ходе тестов Gran Turismo 6 на ПК с процессором AMD Ryzen 9 9950X3D «время
перекомпиляции PPU/SPU сократилось с 2 мин 50 с до 1 мин 55 с; на 48 % быстрее!».

При этом Megamouse предупредил, что решение нужно проверить дополнительными тестами. Он допускает технические проблемы:

Не знаю, не сломает ли [SegmentHeap] что-нибудь и как скажется на производительности в
целом. Но теперь при компиляции PPU мой процессор практически постоянно
загружен почти на 100%, а сама компиляция идёт более чем втрое быстрее.

Ускорение перекомпиляции не означает, что производительность (FPS) в Gran Turismo 6 или других играх на RPCS3 вырастет на 48%. Изменение сокращает только время ожидания в тех случаях, когда нужна перекомпиляция.

 

Источник: iXBT.games

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов