HaloSPV3 / HCE

HCE & SPV3 projects by Miris 'n' Crew.
https://source.n2.network/hce/
13 stars 0 forks source link

Add support for Chimera 40-202's `chimera_throttle_framerate` #112

Open BinToss opened 3 years ago

BinToss commented 3 years ago

Throttled framerate + no V-Sync is preferable for monitors that support Adaptive Sync. It's also a good alternative to Halo's terrible V-Sync implementation until we can control GPU driver settings.

If VSync is off, set the framerate throttle to the Vsync value - 1. The value is stored in chimera.bin image

BinToss commented 3 years ago

My chimera.bin is located at J:\chimera.bin for some reason.

Offset 0x2f is used to determine if the fps value is float or int. A value of 0x40 indicates integer fps throttle. 0x3f indicates a float.

Decimals

FPS Value Note
000.00 00 00 00 00 00 00 00 00 Disable Throttle
000.01 7B 14 AE 47 E1 7A 84 3F Pattern A { 0.01, 0.02, 0.04, 0.08, ... }
000.02 7B 14 AE 47 E1 7A 94 3F Pattern A
000.03 B8 1E 85 EB 51 B8 9E 3F Pattern B { 0.03, 0.06, 0.12, ...}
000.04 7B 14 AE 47 E1 7A A4 3F Pattern A
000.05 9A 99 99 99 99 99 A9 3F Pattern C { 0.05, 0.10, ... }
000.06 B8 1E 85 EB 51 B8 AE 3F Pattern B
000.07 EC 51 B8 1E 85 EB B1 3F Pattern D { 0.07, 0.14, ... }
000.08 7B 14 AE 47 E1 7A B4 3F Pattern A
000.09 0A D7 A3 70 3D 0A B7 3F Pattern E { 0.09, ... }
000.10 9A 99 99 99 99 99 B9 3F Pattern C
000.11 0A D7 A3 70 3D 0A B7 3F Pattern F { 0.11, ... }
000.12 B8 1E 85 EB 51 B8 BE 3F Pattern B
000.13 A4 70 3D 0A D7 A3 C0 3F Pattern G { 0.13, ... }
000.14 EC 51 B8 1E 85 EB C1 3F Pattern D
000.15 33 33 33 33 33 33 C3 3F Pattern H { 0.15, ... }

Integers

FPS Value Note
051.00 00 00 00 00 00 80 49 40 Pattern A (0x2D is 80 for Odd numbers)
052.00 00 00 00 00 00 00 4a 40 Pattern B (0x2D is 00 for Even numbers)
053.00 00 00 00 00 00 80 4a 40
054.00 00 00 00 00 00 00 4b 40
055.00 00 00 00 00 00 80 4b 40