github FelipePrado0/gow3_pc windows-v2.1.7-isa-test1
ISA test build 1 on 2.1.7: run on CPUs without MOVBE, BMI1 and LZCNT (2.1.7-isa-test1)

pre-release2 hours ago

ISA test build 1 on 2.1.7, not a release. Built from branch worktree-isa-rewrite (PR #129, commit 38637d9) on top of 2.1.7. Tracking issue: #102 (#33 and #66 are the earlier reports of the same stop).

What it is

2.1.7 plus support for CPUs that have AVX but lack MOVBE, BMI1 and LZCNT: Intel Sandy Bridge (2011) and Ivy Bridge (2012), including the Xeon E5-2689, E3-1230 v2 and E5-2667 v2 from the reports, and AMD FX. On those CPUs 2.1.6/2.1.7 stopped at start with STOP: this CPU lacks instruction sets the game's code uses: MOVBE, BMI1, LZCNT .... This build instead rewrites the ~1400 instructions of the game's code that use those sets to small emulated stubs at load time and then runs the game. On a CPU that has every set nothing changes.

New lines in user\last_run.log on an old CPU:

  • CPU: missing MOVBE, BMI1, LZCNT (what your CPU lacks)
  • ISA: 1416 sites (MOVBE 104, BMI1 1235, LZCNT 77, F16C 0); 84 relocated, 1 int3, 0 unsupported (the table built for your game version; numbers differ a little between game versions)
  • ISA: CPU lacks MOVBE, BMI1, LZCNT: 1416 sites rewritten (1331 jmp, 84 relocated, 1 int3), 0 skipped
  • on exit, ISA: most executed sites: followed by up to 10 lines: this tells us whether the emulation costs performance and where

A CPU without AVX (Nehalem, Core 2, Phenom II) still stops with the STOP: line; it is out of reach.

Setup

  1. Extract into a new folder (do not mix with an older build); start God of War III.exe and choose the game folder once, as usual.
  2. Play through the intro to the main menu and into the first fight. Then quit the game normally (close the window), so the exit report is written.
  3. Please paste here, from user\last_run.log: the CPU: line, every ISA: line including the most executed sites block at the end, and, if the game crashed, the whole Fault: block (the Fault: line, the registers and the #n frames). Also say how it felt: did it reach the menu, did it reach gameplay, any slowdown compared with what you expect from your GPU.

Performance on these CPUs has not been measured yet: each emulated instruction costs about 50-100 ns, and the hottest one ran ~30 million times in 2-3 minutes on the developer's machine, which should be a few percent of one core. Your report is the first real measurement.


Em português. Esta é uma build de teste da 2.1.7 para CPUs que têm AVX mas não têm MOVBE, BMI1 e LZCNT (Sandy Bridge, Ivy Bridge, AMD FX), como o Xeon E3-1230 v2 da #102. Em vez de parar com STOP: this CPU lacks ..., o jogo reescreve as ~1400 instruções que usam esses conjuntos para stubs emulados e roda. Extraia em uma pasta nova, escolha a pasta do jogo no launcher, jogue até o menu e até a primeira luta, feche o jogo pela janela e cole aqui as linhas CPU: e ISA: do user\last_run.log (inclusive o bloco ISA: most executed sites: do fim), mais o bloco Fault: inteiro se o jogo fechar sozinho. Diga também se chegou ao menu, se chegou a jogar e se sentiu lentidão.

Don't miss a new gow3_pc release

NewReleases is sending notifications on new releases.