post #1 of 1
Thread Starter 
Hello guys.

Some time ago I read this article

http://www.anandtech.com/show/6857/amd-stuttering-issues-driver-roadmap-fraps

Most important this page
http://www.anandtech.com/show/6857/amd-stuttering-issues-driver-roadmap-fraps/4

It describes why Fraps is not good tool to measure FPS or frame latency, why is GPUView far better. At all I have found better methodology.

Lets start from beginning.

10 years ago I have decided to recover all my 8bit games for very old computer - Sharp MZ-800. All games, and sofware were still on magnetic tapes (hope you kids remember), so I have decided to load the tapes into system in WAV format, check them in sound editing software, load them into the computer (the most tricky part), and then save them from the computer to "renew" original wave.

The problem was that not each software able to play WAV files was working fine. I was forced to use DOS player since it was causing absolutely no trouble. And here is the point...

MZ-800 uses modulator and demodulator to transform data into sound or back sound into digital data. It uses speeds of 1200, 2400 or 3600 bauds (bit per second). If any bit was not delivered at exact time, computer was able to detect this error and stop loading of the software.

I realized few things:

1. If sound driver or Wav player on my Pentim III is not running well, the sound stutters. If the sound stutters, then loading data into 8bit computer is not possible.
2. This can be used for checking the quality of audio output. (bit matched, higher bauds= higher accurancy)

So, even if any music I was playing on my PC was fine and I was not hearing any stutters, 25 years old computer was able to detect and report such situation. As a result I replaced my sound card, drivers, and media player software.

After that, when proper HW, drivers and SW was installed I did few "system stuttering" checks. Media Player was sending signal to 8bit PC, and I was performing some actions such as copying data, running programs etc. This helped me to identify usually invisible trouble which has each PC...

The selfsame principle can be used for stuttering detection on video cards.

a) You need a device which can be plugged into DVI/HDMI/D-SUB connector and system will identify it as a display.
b) This device will be able to count each "complete" frame sent from display output, including latencies.

Very close to such requirement are gaming capture cards such as http://www.avermedia.com/Product/ProductDetail.aspx?Id=571 , but then need completely different programming in order to count FPS and measure frame latency.

The important factors are:
1. FPS and frame latency is measured at GPU output
2. Its measured by dedicated hardware
3. And also the hardware should be independent on measured system.

These three factors allow to measure real FPS and latencies which have passed full cycle - including RAMDAC.

Here are attributes of such measuring method:
a) It will be very sensitive. You will measure everything. Including harddisk operations.
b) SW independent. Software tricks which may prioritize Fraps or GPUview will not work here (like increasing process priority, running them on dedicated sw core)

I would like to build such measuring device, or participate on such project. For now I can use only HDMI audio output, my old computer to measure how HDMI audio is working, but its still too indirect method.

Edit:
The reason why I put it in ATI oveclocking section is that I am going to use my HD7970 HDMI audio output to measure system stutterings, and thus do some deep investigation on the HDMI audio which AMD has on this product.

Edit2;
Idea has evolved a bit... There is no such thing as codec with "dynamic FPS". Something like this could be attached to the card quite easy. Recorded stream could be analyzed further.
Edited by Offler - 5/31/13 at 6:14am