• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

How to measure CRT/LCD lag + Windows Tool + Wii Homebrew App

ShortFuse

Smash Lord
Joined
May 23, 2007
Messages
1,523
Location
NJ/NYC
It's been a while since I've posted something on Smashboards, but, I'm going to (re)post some work I've posted on reddit, here.

First of all, a lot of you are using some component to HDMI conversion and taking snapshots. It's good, but I'm going to show you guys what I have.

~Reddit Post 1~

To sum things up, we all play on CRTs because they have the least amount of lag possible for playing Smash. All these set-ups work on 480i. The alternative is to play on an LCD with 480p over component cables (killing deinterlace lag). Unfortunately, the GameCube can't output both a 480i and 480p at the same time, so there was no real way to compare the lag on a CRT running 480i and LCD running 480p. The best alternative was to use a CRT Computer monitor with a Component to VGA converter but there's no guarantee that VGA converter was lagless.

So, I recently bought a Sony PVM-14L5. The PVM-14L5 (14") and PVM-20L5 (20") are professional grade CRT TVs specifically made for video production units. The L5 revision was still being sold during the HDTV era and supports 480i, 480p, 720p and 1080i. To my knowledge, there is no other Sony PVM revision that supports HDTV signals. Why have you never heard of them? Because these monitors are reference monitors used by professionals and sold for at least $3,000 when they came out. I got this set for $119 and an additional $25 shipping. Any PVM will look amazing, but the L5 will do 480p.

Here's a comparison between how PVM looks by comparison

Here's a shot of my first set-up to compare to a standard CRT.



The Daewoo is Composite and the Sony PVM is SVideo. I'm using a Panasonic Q (aka swagcube) because it has simultaneous analog outputs.

So here's how to do actual testing. Until I can get a reference sequence like in SMTT I'm just comparing lines drawn at this point.

So, I have to establish that this CRT doesn't lag any more than a regular CRT.
I set the ISO to 6400 on my camera which is 1/800sec or 1.25ms. I went to FD and let the game run.

I took a couple of shots but this is a good example:




On a laggier CRT to CRT set, you'll see that there's a difference in vertical pixels drawn. The brighter part is what is actually being shot out (drawn) by the CRT. There is no difference here so even if there is lag, it's less than 0.03472ms. I actually believed the Sony is slightly faster than the Daewoo, so even better. (Though this shows it was my imagination).

You can actually perform this with any CRT to CRT comparison to see if there's any lag.

What makes this set-up great, is the ability to play Smash at 480p:



Also the quality on this thing even at 480i makes the Daewoo look like utter trash. I can clearly see Ganondorf's orange earring on the character select screen (though the camera doesn't do it justice).

Being a 480p set, means I can split the signal (already has a built-in splitter) to a LCD or VGA converter. I'm going to start testing out lag on different sets. I have a couple of Samsung LCDs, the Sony Playstation 3DTV, and a Star-Tech Component to VGA converter with CRT computer monitor.

The reason why I said support needed, is if there are any in NY/NJ, that want to help me build a proper database with different LCD monitors, it'll definitely be appreciated.

Or, if you can write a homebrew app for the Wii to make an output like SMTT, it would help a lot!

The Math

The GameCube draws 480 vertical lines per frame. There are 60 frames per second. 1 frame lasts 16.67ms. This means, if a display lags by half a frame, that means it has only 240 frames while the reference one would have drawn 480 lines. This would be 240/480 = 0.5 * 16.67ms = 8.335ms. That's an example. So, each LINE per FRAME would mean 16.66ms / 480 lines = 0.034722ms. So if a display lags by 1 vertical line, it's 0.0347ms lag. If it lags by 2 lines, it's about 0.0694 ms. It means you would have to have at least 28 lines of difference to equal 1 millisecond of lag.

Blah blah, lots of math. The formula is

Code:
x = number of lines of difference
L = lag in milliseconds
 
L = x * 1(sec) * 1000(ms/sec) / 60(frame/sec) / 480(line/frame)
L = x * (1000/28800)
L = x * (5/144)
L= 5x/144
So, if a camera has about 20 lines of difference, the lag would be (5x20)/144 = 0.69ms

The first test
Sony MultiScan 200ES + StarTech Component to VGA
Output is 480p
Notice time left:



Time left:



Mario's Nose



I estimate 1-3 to lines which is ~0.1ms lag

~end of the first post~

This testing method works great for CRT which are drawn in a raster scan fashion. You can compare CRT to CRT. Just keep 480i to 480i or 480p to 480p.

Unfortunately, this wouldn't work too well with LCDs because they don't black the screen. Unfortunately, SMTT is dead and no longer purchasable. Therefore, I've written an app to flash to the screen every frame (at 60fps) and you can take pictures with this app.

~Reddit Post 2~

So a couple of weeks ago, I mentioned how I got a great reference TV that does 480i and 480p. I just finished writing up the lag testing tool I'm using to measure lag on different TVs. The way this works is quite simple.

First, I'm going to show you some test shots I did with my Playstation TV.

Here's a preview image:



Album Link

The program is separated into 3 columns. The first column is a grid of 60 boxes that will color in every frame. By default it will always color 3 boxes. This is useful for a quick comparison to see how many frames ahead the CRT reference screen is. Also, on an LCD you can see if an LCD is between frames when you see 4 boxes being colored.

The second column displays the current game time including milliseconds as it would display on a raster scanning equipment (in this case a CRT). This will display on every odd frame (1, 3, 5, etc).

The third column is the same as the second column, on it displays every even frame (2, 4, 6, etc).

The bottom right shows which frame number is being drawn (out of 60)

The idea is to output the same video to two devices and take a picture with any camera. Digital cameras work better than cell phone cameras. Just manually set your camera to your absolute highest ISO and take a picture.

You might have to take a couple. Basically, you want a picture where you LCD only shows 3 filled in boxes and then you subtract the largest timecode from your CRT with the largest timecode on our LCD. After a couple of shots, you'll get a general idea of how laggy the set is. The Playstation results in 25 to 32ms in lag.

Here's the link to the actual app I wrote:

http://www.mediafire.com/download/wvaztp5kmnv05d7/lagtester006.zip

It's built in XNA, so I believe you just need DirectX9 installed.

The keys are

* Up - Increase maximum boxes drawn per frame
* Down - Decrease maximum boxes drawn per frame
* F5 - Decrease Overscan
* F6 - Increase Overscan
* F4 - Toggle Fullscreen
* Esc - Quit

Right now, the resolution is locked to 640x480 but I'll be adding different options like 480i/480p/720p/768p/1080i/1080p

I'm using a VGA to Component adapter and then splitting the signal. Let me know if you have any suggestions on how to improve this app. I'll be working on porting all this over to a Wii homebrew app so you can test things like the AverMedia LGP and the Blackmagic Intensity Shuttle.

Edit: Wii version shows colors. Now to work on drawing the text

~~end of the second post~~

I'm currently working on the Wii version and as I said, it shoots colors just fine. Right now, I have to work on getting a font render to convert the timecode text to a texture and place that on an object. If there's any interest, I'll work on it faster.

Many of you might be thinking how you can build a testing equipment. Well, if you get a Startech Component to VGA adapter with a CRT computer monitor, you can see the lag is about 0.1ms. Use that as a reference, if you don't want to go buy a Sony HDTV PVM CRT. Of course, you can also just use Composite/SVideo on a 480i CRT, but you would be adding deinterlace lag. Of course, this may be better than nothing and deinterlace lag could be less than 1ms.

Thanks for reading this far!

Edit: Homebrew dol file!

http://www.mediafire.com/download/jwyotfx1jwpeolq/lagtester.dol
 

Bones0

Smash Legend
Joined
Aug 31, 2005
Messages
11,153
Location
Jarrettsville, MD
Amazing work! I hope this is method actually turns out to be turthful/reliable.

Not so much because I want to play Melee in a higher res, more because I just want these threads to stop. lol
 

ShortFuse

Smash Lord
Joined
May 23, 2007
Messages
1,523
Location
NJ/NYC
neither the disco gamecube nor the hospital monitor are needed to answer that question ... u only need a native 480p edtv and a wii with component cable
Are you seriously not going to read the the top post and sit here and argue that you need somebody to give you a cliff notes? Wow.
 
Top Bottom