First post, by bakemono
First some results for framebuffer write speed:
486DX4-100, Trident 8900 ISA - 5.4MB/s
486DX4-100, Trident 9440 VLB - 31MB/s
Pentium II-350, i440BX, Trident 9680 PCI - 38MB/s
Pentium II-350, i440BX, Trident 9680 PCI - 62MB/s (write combining enabled)
Pentium III-600e, i440BX, GeForce FX5200 AGP - 47MB/s
Pentium III-600e, i440BX, GeForce FX5200 AGP - 240MB/s (write combining enabled)
Pentium M-1200, i855PM, Radeon 7500 AGP - 50MB/s
Pentium M-1200, i855PM, Radeon 7500 AGP - 169MB/s (write combining enabled)
Athlon XP, ViaKT333, GeForce FX5700 AGP - 83MB/s
Athlon XP, ViaKT333, GeForce FX5700 AGP - 192MB/s (write combining enabled)
Phenom II, AMD770, Radeon 5670 PCIe - 189MB/s
Phenom II, AMD770, Radeon 5670 PCIe - 2500MB/s (write combining enabled)
As you can see, write combining makes a big difference. Even so, I find the performance of AGP 4x/8x cards to be lackluster. The 440BX chipset is only AGP 2x but scores a higher result. Consequently, the Pentium III-600 returns a DOOM benchmark result of 5026 in 1068 (demo1) which beats the Pentium-M (which had 1417 realtics)
On AMD CPUs I used MTRRLFBE to enable write combining for the LFB (vs. fastvid on intel CPUs). However it fails to enable WC for the VGA buffer. Without WC for the VGA buffer, the Athlon XP also fails to beat the Pentium III DOOM bench, and the Phenom II narrowly beats it with 802 realtics.
Anyone know why VGA WC isn't working or another way to enable it?
The Radeon 5670 is the only PCIe card I've tested and it's only running at PCIe 1.1 speed, but gives a whopping 2.5GB/s out of the 4GB/s theoretical maximum of the PCIe bus. AGP 8x should top out at 2.1GB/s. Has anyone gotten better performance than 240MB/s from an AGP card?
I've been playing with DOS lately to test DOS builds of FreeBASIC programs. It seems that the FB graphics routines must use the VGA buffer, because MTRRLFBE makes no difference, and framerates on the Phenom II are much slower in DOS than in Windows.