[Patch] Default video timing
[Patch] Default video timing
This is a pretty quick patch that gives rough estimates of loosely based on results on vgamuseum.info (after basing the timings off the preset timing speeds applied appropriately first while running DIAG/PCPBench/Quake to keep polishing timings sort of closer). These default timings are accessed with a new menu choice after Fast VLB/PCI (ideally i'd want it to be a -1 before 8-bit...)
In this initial patch, a lot of the timing on the older cards are going to be off (I didn't do much time on research on the non-VGA hardware), and to tweak the timing on the faster cards I had to test with fictional 1000mhz PMMXes to get the cpu bottleneck out of the way for Quake and PCP...
In this initial patch, a lot of the timing on the older cards are going to be off (I didn't do much time on research on the non-VGA hardware), and to tweak the timing on the faster cards I had to test with fictional 1000mhz PMMXes to get the cpu bottleneck out of the way for Quake and PCP...
- Attachments
-
- defaultvideotiming1.patch
- (4.38 KiB) Downloaded 437 times
-
- Posts: 183
- Joined: Wed 18 Mar, 2015 5:27 am
Re: [Patch] Default video timing
Very, very cool to see work being done on this. Thanks for tackling it, leilei.
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: [Patch] Default video timing
Committed at rev 1010. I made a few tweaks, Default is now -1 instead of 6, and I moved the timings to the VIDEO_CARD structure.
I'll probably make a few more changes in this area - make the ISA timing ratio an integer, add separate read and write timings, run tests on the cards I have...
I'll probably make a few more changes in this area - make the ISA timing ratio an integer, add separate read and write timings, run tests on the cards I have...
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: [Patch] Default video timing
For reference, here are the results from a load of cards I own. These are run with VIDSPEED, which should give a reasonable measure of raw host throughput. I tested at both 320x200x256 and 1024x768x256 to get some idea of how available host bandwidth varies with video bandwidth usage. Tests were run on a Pentium MMX 233 on a GA-586TX2 motherboard. The ISA results look a bit low - I still need to get some VLB results, and when I have a machine set up for that I'll re-run those cards.
Cards are a selection of cards that are currently emulated, and cards that may be of interest in the next couple of years or so.
Trident 8900C 1MB :
Trident 8900D 1MB :
Tseng ET4000AX 1MB (note - these are definitely too low) :
Trio64 FPM 1MB :
Trio64 FPM 2MB :
ViRGE/DX EDO 4MB :
ATI Mach64/VT4 EDO 2MB :
Matrox Mystique 2MB :
Voodoo Banshee SDRAM 16MB :
Voodoo 4 4500 32MB :
Cards are a selection of cards that are currently emulated, and cards that may be of interest in the next couple of years or so.
Trident 8900C 1MB :
Code: Select all
909W 770R Bytes per millisecond 28.12KHz 70.30Hz 320x200x256 (VGA/MCGA)
1070W 960R 16 bit writes/reads
1149W 1075R 32 bit writes/reads
937W 814R Bytes per millisecond 45.91KHz 59.77Hz 1024x768x256 (S-VGA)
1070W 995R 16 bit writes/reads
1132W 1086R 32 bit writes/reads
Code: Select all
1556W 860R Bytes per millisecond 28.12KHz 70.28Hz 320x200x256 (VGA/MCGA)
3083W 1720R 16 bit writes/reads
3929W 2293R 32 bit writes/reads
1495W 948R Bytes per millisecond 45.73KHz 59.53Hz 1024x768x256 (S-VGA)
2951W 1896R 16 bit writes/reads
3756W 2230R 32 bit writes/reads
Code: Select all
1490W 1060R Bytes per millisecond 28.13KHz 70.31Hz 320x200x256 (VGA/MCGA)
2938W 2108R 16 bit writes/reads
3711W 2673R 32 bit writes/reads
1490W 1058R Bytes per millisecond 33.42KHz 87.04Hz 1024x768x256 (S-VGA)
2939W 2069R 16 bit writes/reads
3711W 2623R 32 bit writes/reads
Code: Select all
10278W 1639R Bytes per millisecond 27.90KHz 69.75Hz 320x200x256 (VGA/MCGA)
26727W 3278R 16 bit writes/reads
37577W 4314R 32 bit writes/reads
10277W 1631R Bytes per millisecond 33.06KHz 86.11Hz 1024x768x256 (S-VGA)
14739W 2060R 16 bit writes/reads
14752W 2341R 32 bit writes/reads
Code: Select all
10278W 1638R Bytes per millisecond 27.90KHz 69.75Hz 320x200x256 (VGA/MCGA)
26727W 3278R 16 bit writes/reads
37491W 4314R 32 bit writes/reads
10277W 1637R Bytes per millisecond 33.06KHz 86.11Hz 1024x768x256 (S-VGA)
20306W 1994R 16 bit writes/reads
20331W 2302R 32 bit writes/reads
Code: Select all
9947W 1537R Bytes per millisecond 27.91KHz 69.78Hz 320x200x256 (VGA/MCGA)
25720W 3075R 16 bit writes/reads
36571W 3993R 32 bit writes/reads
9995W 1472R Bytes per millisecond 46.20KHz 60.16Hz 1024x768x256 (S-VGA)
14804W 1863R 16 bit writes/reads
14817W 2057R 32 bit writes/reads
Code: Select all
9984W 2035R Bytes per millisecond 28.05KHz 70.11Hz 320x200x256 (VGA/MCGA)
15663W 3259R 16 bit writes/reads
15678W 4655R 32 bit writes/reads
10147W 2168R Bytes per millisecond 46.09KHz 60.00Hz 1024x768x256 (S-VGA)
25184W 4174R 16 bit writes/reads
70475W 7761R 32 bit writes/reads
Code: Select all
10182W 1531R Bytes per millisecond 28.05KHz 70.11Hz 320x200x256 (VGA/MCGA)
26089W 2672R 16 bit writes/reads
85333W 5321R 32 bit writes/reads
10184W 3405R Bytes per millisecond 46.09KHz 60.02Hz 1024x768x256 (S-VGA)
26004W 6397R 16 bit writes/reads
81422W 11543R 32 bit writes/reads
Code: Select all
13363W 1581R Bytes per millisecond 28.04KHz 70.10Hz 320x200x256 (VGA/MCGA)
33436W 3141R 16 bit writes/reads
89530W 6134R 32 bit writes/reads
13365W 3869R Bytes per millisecond 46.09KHz 60.01Hz 1024x768x256 (S-VGA)
33412W 7171R 16 bit writes/reads
89218W 12396R 32 bit writes/reads
Code: Select all
10278W 1804R Bytes per millisecond 28.04KHz 70.09Hz 320x200x256 (VGA/MCGA)
26727W 3603R 16 bit writes/reads
89530W 7089R 32 bit writes/reads
10277W 3484R Bytes per millisecond 46.11KHz 60.03Hz 1024x768x256 (S-VGA)
26751W 6656R 16 bit writes/reads
89218W 12023R 32 bit writes/reads
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: [Patch] Default video timing
Also for reference, this machine had a K6/200 in it when I started, which I changed out because it was affecting measurements. I did test the Banshee with a Pentium MMX, a K6, and an M2, and the results were quite different :
Pentium MMX/233 :
K6/200 :
M2/PR-300 (233 MHz) :
This variation naturally makes determining the speed of a graphics card quite tricky!
Pentium MMX/233 :
Code: Select all
13363W 1581R Bytes per millisecond 28.04KHz 70.10Hz 320x200x256 (VGA/MCGA)
33436W 3141R 16 bit writes/reads
89530W 6134R 32 bit writes/reads
13365W 3869R Bytes per millisecond 46.09KHz 60.01Hz 1024x768x256 (S-VGA)
33412W 7171R 16 bit writes/reads
89218W 12396R 32 bit writes/reads
Code: Select all
13363W 1581R Bytes per millisecond 28.04KHz 70.10Hz 320x200x256 (VGA/MCGA)
26727W 3141R 16 bit writes/reads
53542W 6134R 32 bit writes/reads
13365W 3869R Bytes per millisecond 46.09KHz 60.01Hz 1024x768x256 (S-VGA)
26751W 7171R 16 bit writes/reads
53588W 12396R 32 bit writes/reads
Code: Select all
76560W 1670R Bytes per millisecond 28.04KHz 70.09Hz 320x200x256 (VGA/MCGA)
89530W 3287R 16 bit writes/reads
107084W 6440R 32 bit writes/reads
76589W 5029R Bytes per millisecond 46.09KHz 60.01Hz 1024x768x256 (S-VGA)
89218W 9155R 16 bit writes/reads
106158W 15487R 32 bit writes/reads
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: [Patch] Default video timing
ISA/VLB numbers. Run on a 486DX2/66 with a PT-430 motherboard.
EGA G2 GC201 256kB :
Trident 8900C 1MB :
Trident 9000B 512kB :
Trident 8900D 1MB :
Tseng ET4000AX 1MB :
Cirrus Logic GD-5428 1MB VLB :
S3 Vision864 1MB VLB :
S3 Vision864 2MB VLB :
Tseng ET4000/W32p 1MB VLB :
Tseng ET4000/W32p 2MB VLB :
Clearly making fantastic use of my Sunday here.
EGA G2 GC201 256kB :
Code: Select all
447W 447R Bytes per millisecond 11.98KHz 59.93Hz 640x200x16 (EGA)
447W 447R 16 bit writes/reads
447W 447R 32 bit writes/reads
Code: Select all
1156W 1019R Bytes per millisecond 28.10KHz 70.24Hz 320x200x256 (VGA/MCGA)
2313W 2040R 16 bit writes/reads
2811W 2393R 32 bit writes/reads
1204W 1186R Bytes per millisecond 45.86KHz 59.72Hz 1024x768x256 (S-VGA)
2409W 2373R 16 bit writes/reads
2544W 2526R 32 bit writes/reads
Code: Select all
1039W 1009R Bytes per millisecond 28.10KHz 70.24Hz 320x200x256 (VGA/MCGA)
2078W 2019R 16 bit writes/reads
2456W 2381R 32 bit writes/reads
1166W 967R Bytes per millisecond 26.96KHz 89.87Hz 800x600x256 (S-VGA)
2333W 1934R 16 bit writes/reads
2425W 2009R 32 bit writes/reads
Code: Select all
2141W 1073R Bytes per millisecond 28.09KHz 70.23Hz 320x200x256 (VGA/MCGA)
4283W 2146R 16 bit writes/reads
5586W 2605R 32 bit writes/reads
2141W 1189R Bytes per millisecond 45.68KHz 59.48Hz 1024x768x256 (S-VGA)
4284W 2379R 16 bit writes/reads
5587W 2520R 32 bit writes/reads
Code: Select all
1690W 1324R Bytes per millisecond 28.10KHz 70.25Hz 320x200x256 (VGA/MCGA)
3381W 2615R 16 bit writes/reads
4145W 3124R 32 bit writes/reads
1690W 1314R Bytes per millisecond 33.39KHz 86.97Hz 1024x768x256 (S-VGA)
3381W 2574R 16 bit writes/reads
4145W 3034R 32 bit writes/reads
Code: Select all
5553W 2658R Bytes per millisecond 28.08KHz 70.19Hz 320x200x256 (VGA/MCGA)
11107W 5316R 16 bit writes/reads
11107W 5570R 32 bit writes/reads
5519W 2631R Bytes per millisecond 33.50KHz 87.25Hz 1024x768x256 (S-VGA)
11042W 5264R 16 bit writes/reads
11042W 5256R 32 bit writes/reads
Code: Select all
8329W 2080R Bytes per millisecond 27.89KHz 69.73Hz 320x200x256 (VGA/MCGA)
16667W 4159R 16 bit writes/reads
30117W 4908R 32 bit writes/reads
7805W 1963R Bytes per millisecond 46.11KHz 60.06Hz 1024x768x256 (S-VGA)
9930W 2214R 16 bit writes/reads
10049W 2430R 32 bit writes/reads
Code: Select all
8329W 2073R Bytes per millisecond 27.89KHz 69.73Hz 320x200x256 (VGA/MCGA)
16667W 4146R 16 bit writes/reads
32379W 4908R 32 bit writes/reads
8332W 1983R Bytes per millisecond 46.11KHz 60.06Hz 1024x768x256 (S-VGA)
14534W 2376R 16 bit writes/reads
14661W 2617R 32 bit writes/reads
Code: Select all
8329W 4107R Bytes per millisecond 27.89KHz 69.71Hz 320x200x256 (VGA/MCGA)
16667W 8114R 16 bit writes/reads
33368W 15860R 32 bit writes/reads
8332W 3984R Bytes per millisecond 33.37KHz 86.90Hz 1024x768x256 (S-VGA)
16673W 7964R 16 bit writes/reads
33346W 15898R 32 bit writes/reads
Code: Select all
8329W 4033R Bytes per millisecond 27.89KHz 69.71Hz 320x200x256 (VGA/MCGA)
16667W 7980R 16 bit writes/reads
33368W 15226R 32 bit writes/reads
8332W 4066R Bytes per millisecond 33.37KHz 86.91Hz 1024x768x256 (S-VGA)
16673W 7953R 16 bit writes/reads
33346W 15070R 32 bit writes/reads
-
- Posts: 183
- Joined: Wed 18 Mar, 2015 5:27 am
Re: [Patch] Default video timing
Can't speak to whether it's a great use of your Sunday, but this is excellent stuff! I've been super interested for a long time in knowing how these comparisons would shake out, it's nice to have some hard data.
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: [Patch] Default video timing
Made some changes in this area - rev 1011 sorts out the ISA divider, rev 1012 fixes timing on non-byte Mach64 accesses, rev 1013 fixes non-byte Paradise accesses, and rev 1014 separates read and write timings, adds timings for the machines with onboard video chips, and updates timings based on the above posts.