Repository navigation
Kit de build do God of War II HD recompilado estaticamente para macOS (Apple Silicon), agora com as melhorias de desempenho e diagnóstico inspiradas no runtime do Go.
Nenhum arquivo do jogo vai no pacote. O kit recompila tudo a partir da sua cópia: você traz a pasta do jogo (NPUA80491) e a licença
.rap.
Como usar
- Baixe e descompacte
gow2-recomp-kit-macos-20260930-b323750.zip. - Rode
gow2-recomp/kit/setup.sh <pasta PS3_GAME> --rap <arquivo.rap>(veja oREADME.mddo kit). - Jogue com
./jogar_g2.shou pelo appGoW2 Recomp.app(launcher/macos/build_app.sh).
Novidades
Mais rápido e mais liso (medido no gameplay, 15 corridas de 5 min alternadas, mesma cena):
| antes | agora | |
|---|---|---|
| fps (mediana) | 41 | 47 |
| trabalho de CPU por frame | 67,0 ms | 58,1 ms (−13%) |
| p99 do tempo de frame | 34,8 ms | 31,9 ms |
| engasgos > 50 ms por minuto | 3,6 | 0,5 |
| memória (footprint) | — | +~16 MB (~2%) |
- Devirtualização guiada por perfil: as 461 chamadas indiretas mais quentes do jogo (52% de todas) viram chamada direta, com o alvo conferido a cada chamada. O
setup.sh/build_macos.shaplica sozinho, a partir deconfig/gow2_icall_profile.tsv;ICALL_DEVIRT=0desliga. - Busca de funções por tabela direta (~3 ns → ~0,4 ns), DMA do SPU com caminho rápido (128 B: 9,6 → 2,5 ns) e descompressão dos arquivos do jogo via libz (2,1× mais rápida, mesmo resultado).
- Giant lock justo (
PS3_GIANT_STARVE=1, opcional): no teste, pior frame de 37 ms e nenhum engasgo; ainda desligado por padrão.
Diagnóstico (desligado por padrão, para quem investiga travamentos):
PS3_WAITGRAPH=1: mostra qual thread do jogo está esperando o quê e quem deveria liberar (deadlocks, dono que saiu, esperas longas).PS3_FLIGHT=1: guarda os últimos eventos de cada thread e os imprime num crash, num achado do grafo ou comkill -USR1.- Cabeçalho
[CRASH]em qualquer queda (ligado): sinal, endereço do jogo, última chamada ao sistema, backtrace. PS3_TRACE_FRAMETIME=1: p50/p99/pior frame e engasgos por segundo.
Também traz as correções feitas desde a release anterior (ver o histórico de commits).
Validação desta release
- Kit testado de ponta a ponta numa pasta nova:
setup.shcompleto (≈8 min), lifts PPU 8/8, SPU 7/7 e movie_cache 17/17 idênticos aos hashes do kit; devirtualização aplicada automaticamente (461 pontos). - O binário gerado chegou ao gameplay (≈170 s com autostart), 54 fps de mediana com a conferência extra ligada, 33,5 milhões de chamadas devirtualizadas conferidas com 0 divergências, 0 crash, 0 travamento, 0 ICALL-BAD.
- Correção incluída: o kit agora fixa também a revisão do lifter SPU usada em spu0/spu2/spu6 — um kit gerado com o lifter atual parava em "os SPU recompilados não conferem".
- Não validado nesta release: tela cheia e som no binário do kit.
Integridade
sha256: 3dd2e8fd01c5a396a15e6181f871970b19b12ef91677238c81fac014c22e2388
Versões: gow2-recomp b323750, ps3recomp c5b39b53 (lifters fixados 5b004fc7, 5f36a40e, 11a1c3c5, 305dd109).