diff options
Diffstat (limited to 'results/scraper/fex/4252')
| -rw-r--r-- | results/scraper/fex/4252 | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/results/scraper/fex/4252 b/results/scraper/fex/4252 new file mode 100644 index 000000000..c0b1e598c --- /dev/null +++ b/results/scraper/fex/4252 @@ -0,0 +1,79 @@ +Crysis 2 Maximum edition: Audio thread completely saturated with x87, breaks audio +The first level of the game completely saturates its audio thread, resulting in it dropping samples. Even in reduced precision mode. Pretty much all the CPU time is spent in its fmodex.dll. and most of the blocks are just a ton of x87. + +``` + 19.30% [JIT] tid 494822 [.] JIT_0x2e7a85c_0x413e867fc + 11.39% [JIT] tid 494822 [.] JIT_0x2ea4521_0x413e642a4 + 10.69% [JIT] tid 494822 [.] JIT_0x2ea46e9_0x413e6d978 + 7.19% [JIT] tid 494822 [.] JIT_0x2e8e7af_0x413e94d28 + 4.86% [JIT] tid 494822 [.] JIT_0x2ea3931_0x413e39858 + 4.58% [JIT] tid 494822 [.] JIT_0x2e8e6e1_0x413ea3658 + 3.84% [JIT] tid 494822 [.] JIT_0x2e8e761_0x413ea3ce8 + 2.84% [JIT] tid 494822 [.] JIT_0x2ea4085_0x413e5119c + 2.74% [JIT] tid 494822 [.] JIT_0x2e8eb0d_0x413e9a00c + 2.12% [JIT] tid 494822 [.] JIT_0x2e735d4_0x413e9e090 + 2.05% [JIT] tid 494822 [.] JIT_0x2e8e659_0x413ea3330 + 1.62% [JIT] tid 494822 [.] JIT_0x2e8e373_0x413ea1cf0 + 1.39% FEXInterpreter [.] 0x0000000000185480 + 0.99% [JIT] tid 494822 [.] JIT_0x2e8eb51_0x413e9a79c + 0.90% [JIT] tid 494822 [.] JIT_0x2e8eb04_0x413e99a64 + 0.83% [JIT] tid 494822 [.] JIT_0x2e8e4dd_0x413e90e94 + 0.78% [JIT] tid 494822 [.] JIT_0x2ea46cf_0x413e69d04 + 0.78% [JIT] tid 494822 [.] JIT_0x2e8e4df_0x413e905ec + 0.70% [JIT] tid 494822 [.] JIT_0x2ea44ed_0x413e605dc + ``` +fmodex.dll base address at 0x2e20000 in this capture. + +First block: +```asm +02e7a85c fld st0, dword [edx] +02e7a85e dec dword [ebp+0x10 {arg4}] +02e7a861 fld st0, dword [0x2efbf50] +02e7a867 add edx, 0x8 +02e7a86a fld st0, st0 +02e7a86c faddp st2, st0 +02e7a86e fld st0, dword [esi+0x1c0] +02e7a874 fmulp st2, st0 +02e7a876 fld st0, dword [esi+0x1c4] +02e7a87c fmul st0, dword [ebp+0x14 {arg5}] +02e7a87f faddp st2, st0 +02e7a881 fxch st0, st1 +02e7a883 fstp dword [ebp+0xc {arg3}], st0 +02e7a886 fld st0, dword [edx-0x4] +02e7a889 fld st0, st1 +02e7a88b faddp st1, st0 +02e7a88d fmul st0, dword [esi+0x1c0] +02e7a893 fld st0, dword [esi+0x1c4] +02e7a899 fmul st0, dword [ebp-0x10 {var_14_1}] +02e7a89c faddp st1, st0 +02e7a89e fstp dword [ebp+0x8 {arg2}], st0 +02e7a8a1 fld st0, dword [ebp+0xc {arg3}] +02e7a8a4 fstp dword [ebp+0x14 {arg5}], st0 +02e7a8a7 fld st0, dword [ebp+0x8 {arg2}] +02e7a8aa fstp dword [ebp-0x10 {var_14_1}], st0 +02e7a8ad fld st0, dword [esi+0x1c0] +02e7a8b3 fmul st0, dword [ebp+0xc {arg3}] +02e7a8b6 fld st0, dword [esi+0x1c4] +02e7a8bc fmul st0, dword [ebp-0x14 {var_18_1}] +02e7a8bf faddp st1, st0 +02e7a8c1 fstp dword [ebp+0xc {arg3}], st0 +02e7a8c4 fld st0, dword [esi+0x1c0] +02e7a8ca fmul st0, dword [ebp+0x8 {arg2}] +02e7a8cd fld st0, dword [esi+0x1c4] +02e7a8d3 fmul st0, dword [ebp-0xc {var_10_1}] +02e7a8d6 faddp st1, st0 +02e7a8d8 fstp dword [ebp+0x8 {arg2}], st0 +02e7a8db fld st0, dword [ebp+0xc {arg3}] +02e7a8de fstp dword [ebp-0x14 {var_18_1}], st0 +02e7a8e1 fld st0, dword [ebp+0x8 {arg2}] +02e7a8e4 fstp dword [ebp-0xc {var_10_1}], st0 +02e7a8e7 fld st0, dword [ebp+0xc {arg3}] +02e7a8ea fstp dword [eax], st0 +02e7a8ec add eax, 0x8 +02e7a8ef cmp dword [ebp+0x10 {arg4}], 0x0 +02e7a8f3 fld st0, dword [ebp+0x8 {arg2}] +02e7a8f6 fstp dword [eax-0x4], st0 +02e7a8f9 fchs +02e7a8fb fstp dword [data_2efbf50], st0 +02e7a901 jne 0x2e7a85c +``` \ No newline at end of file |