Bureaucrats, ninja, Administrators
67,566
edits
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{DocTabs|Section=3}} | |||
As most people probably know, PCSX2 is primarily a dual-thread application. The two main threads are described as such: | As most people probably know, PCSX2 is primarily a dual-thread application. The two main threads are described as such: | ||
Line 28: | Line 29: | ||
The solution to this problem is to use a more traditional method of manual load checking: timing various sections of code executed in-thread via either the aforementioned rdtsc (timestamp) or QueryPerformanceCounter, read at key points in the GS thread's execution/program flow. This wasn't such a great idea a few years ago, due to K8/Athlon and P4 generation CPUs lacking a stable internal clock counter. Fortunately, all modern CPUs have a consistent counter suitable for benchmarking, so the pitfalls that have been long associated with using Intel/AMD timestamps are finally obsolete enough to not be a concern for us here. | The solution to this problem is to use a more traditional method of manual load checking: timing various sections of code executed in-thread via either the aforementioned rdtsc (timestamp) or QueryPerformanceCounter, read at key points in the GS thread's execution/program flow. This wasn't such a great idea a few years ago, due to K8/Athlon and P4 generation CPUs lacking a stable internal clock counter. Fortunately, all modern CPUs have a consistent counter suitable for benchmarking, so the pitfalls that have been long associated with using Intel/AMD timestamps are finally obsolete enough to not be a concern for us here. | ||
{{PCSX2 | {{PCSX2 Developers Blog Navbox}} |