VOGONS


First post, by sunmax

User metadata
Rank Newbie
Rank
Newbie

While reading multiple threads on this topic, it was interesting to see that some VIA C3 users report big FPS boosts when enabling WC on VGA (e.g. 3DBench2) and LFB (e.g. Quake 640x480), while others reports none or marginal increase.

As an example see: Socket 370 VIA C3 Retro DOS PC

I took to testing by changing a single component a time, and here is what I found:

- Ezra (non -T) benefits most from WC being enabled on video memory, with an Ezra 900 (clocked at 1000) on VIA board with Nvidia card, 3DBench2 goes from 213.8 to 606.8
- Ezra-T receives only a very minimal boost, with an Ezra-T 1Ghz on the same identical setup, enabling WC only takes 3DBench2 from 213.7 to 215.2 (!)

Ditto with Chrisb SVGABNCH, Ezra 1Ghz goes from 118.0 to 185.0, while Ezra-T 1Ghz sticks at 118.0

Still have to test with Quake, but I'd expect the same pattern to hold.

All results were reproducible in both pure DOS and Windows DOS shell. AGP or PCI video card didn't make a difference. Some cards (e.g. Voodoo3) were faster as expected as a a baseline (with WC off), but exhibited the same behavior with WC: substantial boost for Ezra, and marginal/none for Ezra-T.

Would be interesting to see if other VIA enthusiasts, can also reproduce this finding, and if we can figure the reason and if there is anything we can do to improve Ezra-T WC mode 😀

Reply 1 of 37, by enaiel

User metadata
Rank Member
Rank
Member

Thanks for confirming the issue that I had with my Ezra-T and MTRR/FASTVID. I too hope that someone can figure the reason and we can improve Ezra-T WC mode.

VIA C3 datasheet: https://datasheets.chipdb.org/VIA/EBGA/VIA%20 … eet%20R1.90.pdf

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 2 of 37, by sunmax

User metadata
Rank Newbie
Rank
Newbie

I checked the MSRs on Ezra and Ezra-T before and after turning VGA WC on with MTRRLFE, dumping the regs with CPUCTL, and in both cases they are identical!

So either there is some undocumented register to fully activate WC on Ezra-T, or its MTRR design is underperforming.

Will post a benchmark comparison next to get a better idea.

See MSR logs attached.

Attachments

  • Filename
    Ezra_VGA_WC_on.txt
    File size
    1.63 KiB
    Downloads
    15 downloads
    File license
    Public domain
  • Filename
    Ezra_VGA_WC_off.txt
    File size
    1.63 KiB
    Downloads
    11 downloads
    File license
    Public domain
  • Filename
    EzraT_VGA_WC_on.txt
    File size
    1.63 KiB
    Downloads
    13 downloads
    File license
    Public domain
  • Filename
    EzraT_VGA_WC_off.txt
    File size
    1.63 KiB
    Downloads
    13 downloads
    File license
    Public domain

Reply 3 of 37, by sunmax

User metadata
Rank Newbie
Rank
Newbie

And here we go, numbers are worthy one thousand pictures 😀

file.php?mode=view&id=200113

Used the very practical Phil's DOSBENCH. All results are the average of 3 runs. Numbers with MTRR WC on to the right.

Pure DOS on VIA PN133T + 686B, and Geforce FX5500 PCI (I'm aware the latter doesn't always shine in DOS video access, compared to GeForce2 or Voodoo3, and this intentionally shows the bigger boost when WC is on, on less than stellar VGA).

The original Ezra clearly gets a substantial performance boost with MTRR WC on (both for VGA and LFB).

For VGA, in 3DBench2 Ezra increase is in the order of 250%, and then in more intensive VGA apps (e.g. Quake) this cuts down to just 5%.

In SVGA, the performance improvement is massive and still standing in games. Quake at 640x480 goes from 23.3 to 37.0, a lovely 60% gain. Build games like Duke3D at 640x480 happily spins at 70 FPS (DNRATE in first level roof).

The Ezra-T on the other hand gets a maximum MTRR WC boost of 10% in SVGA games. Even overclocking Ezra-T to 1200, cannot catch the advantage of Ezra MTRR boost, and the Ezra 900 ends to be 25% faster than Ezra-T 1200 in Quake SVGA!

Maybe the reason C3 gets a bad reputation for SVGA performance, is that we all want the highest CPU specs (in this case Ezra-T 1000 vs Ezra 900), even when it's actually slower 😀

Attachments

  • Ezra_MTRR_WC.png
    Filename
    Ezra_MTRR_WC.png
    File size
    84.16 KiB
    Views
    982 views
    File license
    Public domain

Reply 5 of 37, by sunmax

User metadata
Rank Newbie
Rank
Newbie

Hi Jasin, it's a good question! The Nehemiah behaves like the original Ezra, with a noticeable speed increase when MTRR WC is enabled on VGA and LFB. It also offers SSE, which might be needed in more recent nvidia drivers. The downside of the Nehemiah, is that it doesn't have the same granularity as the Ezras scaling down toward older DOS games and apps. It also doesn't play as nicely with Voodoo1/2 cards: I originally thought the issue was FSB @ 133 (which is default in most or maybe all Nehemiah), but I recently got an Ezra 866 (133 x 6.5) which I overclocked at 1000 (133 x 7.5), and I can say that Ezra at 1000Mhz can run all DOS Glide Test apps and a few DOS Glide games (e.g. Actua Soccer), while the Nehemiah at 1000 (downclocked from 1200) cannot run a single one of them. So it's not just the FSB, there must be more involved, maybe some of the internal Nenemiah optimization doesn't plays as nicely with Glide DOS drivers ? As far as I was able to test, this limitation seems to affect only DOS Glide games and apps, with Windows Glide both Nehemiah and Ezra are doing fine.

I'm planning to re-run the tests in table above with a Nehemiah at 1000 to have a direct term of comparison.

Hope these notes help!

Reply 6 of 37, by Jasin Natael

User metadata
Rank Oldbie
Rank
Oldbie
sunmax wrote on 2024-08-27, 22:46:

Hi Jasin, it's a good question! The Nehemiah behaves like the original Ezra, with a noticeable speed increase when MTRR WC is enabled on VGA and LFB. It also offers SSE, which might be needed in more recent nvidia drivers. The downside of the Nehemiah, is that it doesn't have the same granularity as the Ezras scaling down toward older DOS games and apps. It also doesn't play as nicely with Voodoo1/2 cards: I originally thought the issue was FSB @ 133 (which is default in most or maybe all Nehemiah), but I recently got an Ezra 866 (133 x 6.5) which I overclocked at 1000 (133 x 7.5), and I can say that Ezra at 1000Mhz can run all DOS Glide Test apps and a few DOS Glide games (e.g. Actua Soccer), while the Nehemiah at 1000 (downclocked from 1200) cannot run a single one of them. So it's not just the FSB, there must be more involved, maybe some of the internal Nenemiah optimization doesn't plays as nicely with Glide DOS drivers ? As far as I was able to test, this limitation seems to affect only DOS Glide games and apps, with Windows Glide both Nehemiah and Ezra are doing fine.

I'm planning to re-run the tests in table above with a Nehemiah at 1000 to have a direct term of comparison.

Hope these notes help!

Thank you
That is interesting to know. I have a Nehemiah 1200 chip that overclocks pretty well. It runs at 1500 (15x100) stably at stock voltage on my Intel Seattle 440bx board. I did a few benchmarks with my old Voodoo 3 before I sold it, and I didn't have any issues in Windows Glide, but I'm sure I didn't even try any DOS Glide games. I might boot it up and run some DOS benchmarks though and just see what results I get with MTRR WC on/off.

Reply 7 of 37, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
Jasin Natael wrote on 2024-08-28, 13:42:

That is interesting to know. I have a Nehemiah 1200 chip that overclocks pretty well. It runs at 1500 (15x100) stably at stock voltage on my Intel Seattle 440bx board. I did a few benchmarks with my old Voodoo 3 before I sold it, and I didn't have any issues in Windows Glide, but I'm sure I didn't even try any DOS Glide games. I might boot it up and run some DOS benchmarks though and just see what results I get with MTRR WC on/off.

Please test Nehemiah for us, I am very curious. Thanks

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 8 of 37, by Jasin Natael

User metadata
Rank Oldbie
Rank
Oldbie
mockingbird wrote on 2024-08-28, 15:41:
Jasin Natael wrote on 2024-08-28, 13:42:

That is interesting to know. I have a Nehemiah 1200 chip that overclocks pretty well. It runs at 1500 (15x100) stably at stock voltage on my Intel Seattle 440bx board. I did a few benchmarks with my old Voodoo 3 before I sold it, and I didn't have any issues in Windows Glide, but I'm sure I didn't even try any DOS Glide games. I might boot it up and run some DOS benchmarks though and just see what results I get with MTRR WC on/off.

Please test Nehemiah for us, I am very curious. Thanks

If I can find the time this weekend, I will get that PC out and do some testing.

Reply 9 of 37, by sunmax

User metadata
Rank Newbie
Rank
Newbie

Ok, C3 friends, here come the new tables for Nehemiah and Ezra w FSB 133.

file.php?mode=view&id=200270

Some formulas:

Nehe 1000 vs Ezra 1000 (clock x clock / same FSB / WC on) : Chris = +11% faster, PCP = +28% faster, Quake VGA = +13% faster, Quake SVGA = 20% faster

Nehe 1000 vs Ezra-T 1000 (clock x clock / FSB: 133 vs 100 [*] / WC on) : Chris = +80% faster, PCP = +88% faster, Quake VGA = +27% faster, Quake SVGA = +72% faster

Nehe 1200 vs Ezra-T 1200 (clock x clock / FSB: 133 vs 100 [*] / WC on) : Chris = +88% faster, PCP = +106% faster, Quake VGA = +29% faster, Quake SVGA = +82% faster

[*] unfortunately don't have an Ezra-T w native 133 Mhz, nor a way to change FSB in BIOS or with jumpers, Ezra-T might perform 3-5% better w FSB @ 133

In summary: when WC is enabled on VGA & LFB, Nehemiah is about 10-20% more performing in DOS VGA & SVGA than an Ezra at same clock/FSB, with a peek of 28% in PCP SVGA.

When compared to Ezra-T with WC on, the Nehemiah is about 80-100% faster at the same clock, which would seem indicative of underperforming Ezra-T MTRR implementation.

Attachments

Reply 10 of 37, by mothergoose729

User metadata
Rank Oldbie
Rank
Oldbie
sunmax wrote on 2024-08-27, 22:46:

Hi Jasin, it's a good question! The Nehemiah behaves like the original Ezra, with a noticeable speed increase when MTRR WC is enabled on VGA and LFB. It also offers SSE, which might be needed in more recent nvidia drivers. The downside of the Nehemiah, is that it doesn't have the same granularity as the Ezras scaling down toward older DOS games and apps. It also doesn't play as nicely with Voodoo1/2 cards: I originally thought the issue was FSB @ 133 (which is default in most or maybe all Nehemiah), but I recently got an Ezra 866 (133 x 6.5) which I overclocked at 1000 (133 x 7.5), and I can say that Ezra at 1000Mhz can run all DOS Glide Test apps and a few DOS Glide games (e.g. Actua Soccer), while the Nehemiah at 1000 (downclocked from 1200) cannot run a single one of them. So it's not just the FSB, there must be more involved, maybe some of the internal Nenemiah optimization doesn't plays as nicely with Glide DOS drivers ? As far as I was able to test, this limitation seems to affect only DOS Glide games and apps, with Windows Glide both Nehemiah and Ezra are doing fine.

I'm planning to re-run the tests in table above with a Nehemiah at 1000 to have a direct term of comparison.

Hope these notes help!

I remember downclocking to 400mhz for glide games. This is with a voodoo2 and using glide patches. No problems in windows.

sunmax wrote on 2024-08-30, 03:09:
Ok, C3 friends, here come the new tables for Nehemiah and Ezra w FSB 133. […]
Show full quote

Ok, C3 friends, here come the new tables for Nehemiah and Ezra w FSB 133.

file.php?mode=view&id=200270

Some formulas:

Nehe 1000 vs Ezra 1000 (clock x clock / same FSB / WC on) : Chris = +11% faster, PCP = +28% faster, Quake VGA = +13% faster, Quake SVGA = 20% faster

Nehe 1000 vs Ezra-T 1000 (clock x clock / FSB: 133 vs 100 [*] / WC on) : Chris = +80% faster, PCP = +88% faster, Quake VGA = +27% faster, Quake SVGA = +72% faster

Nehe 1200 vs Ezra-T 1200 (clock x clock / FSB: 133 vs 100 [*] / WC on) : Chris = +88% faster, PCP = +106% faster, Quake VGA = +29% faster, Quake SVGA = +82% faster

[*] unfortunately don't have an Ezra-T w native 133 Mhz, nor a way to change FSB in BIOS or with jumpers, Ezra-T might perform 3-5% better w FSB @ 133

In summary: when WC is enabled on VGA & LFB, Nehemiah is about 10-20% more performing in DOS VGA & SVGA than an Ezra at same clock/FSB, with a peek of 28% in PCP SVGA.

When compared to Ezra-T with WC on, the Nehemiah is about 80-100% faster at the same clock, which would seem indicative of underperforming Ezra-T MTRR implementation.

I get about the same performance in Quake SVGA with my Nehemiah at 10x multiplier

Reply 11 of 37, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie
mothergoose729 wrote on 2024-08-30, 06:54:

I remember downclocking to 400mhz for glide games. This is with a voodoo2 and using glide patches. No problems in windows.

Can confirm that the Nehemiah (probably because it has a much faster FPU compared to the Ezra-T?) must be downclocked to ~ 400 MHz / FSB100 (or even FSB66, IIRC) for older DOS Glide games.
Either way, it's not a major inconvenience and it does work fine at these lower speeds.

1 x PLCC-68 / 2 x PGA132 / 5 x Skt 3 / 9 x Skt 7 / 12 x SS7 / 1 x Skt 8 / 14 x Slot 1 / 5 x Slot A
5 x Skt 370 / 8 x Skt A / 2 x Skt 478 / 2 x Skt 754 / 3 x Skt 939 / 7 x LGA775 / 1 x LGA1155
Current PC: Ryzen 7 9800X3D
Backup PC: Ryzen 7 5800X3D

Reply 12 of 37, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
sunmax wrote on 2024-08-30, 03:09:

Ok, C3 friends, here come the new tables for Nehemiah and Ezra w FSB 133.
<snip>
When compared to Ezra-T with WC on, the Nehemiah is about 80-100% faster at the same clock, which would seem indicative of underperforming Ezra-T MTRR implementation.

Thanks! I purchased a Nehemiah CPU which I'll use instead of my Ezra-T... The extra granularity in reducing speed with the Ezra-T is not worth the massive reduction in performance for SVGA in DOS. Plus, you get CMOV and SSE with the Nehemiah. I plan to run it at 9x100 at boot and then increase the multiplier to 12 once the system is ready.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 13 of 37, by sunmax

User metadata
Rank Newbie
Rank
Newbie

Yes, downclocking the FSB to 66, allows the Nehemiah to run DOS Glide games (no FSB limitation for Win Glide, possibly just multiplier reduction with SetMul). My VIA system doesn't have BIOS settings or jumpers to change FSB, so it boots at default straps (133 Mhz) with Nehemiah. Using the excellent VIAFSB I'm able (90% success rate) to switch FSB to 66 Mhz at run-time (I then have to disable sound, since ISA soundcard ain't happy at half-speed), but can then run all DOS Glide games and SDK tests.

Re: Nehemiah vs Ezra/Ezra-T speed boost : Nehemiah is much faster than Ezra-T (up to twice) clock x clock with WC enabled, but only 10-20% faster than original Ezra in DOS VGA & SVGA games. It seems for some reason MTRR WC is not fully operative on Ezra-T (it is on the original Ezra and Nehemiah, which is why their performance is closer).

I think the preference for one CPU or the other depends on the target system, games and apps. If we are targeting mostly win98se games, Nehemiah is beneficial (especially if paired with a GPU with no hw T&L, since the faster FPU of the Nehemiah will make a difference). On systems where you can change the FSB in BIOS, you can almost fine-tune the speed range to the level of Ezra (I say almost, since disabling L1 is more drastic on Nehemiah, and then DOS games -at least to my eyes- don't look as smooth as on Ezra, especially in fade-in and fade-out effects). Nehemiah SSE also allows to use later nvidia drivers, and more recent NVFlash.

On the other hand, if we are focusing on win98se w S370 or Slot1 + Slotket, then we can envision that Pentium-III 1.4S, could be even a better choice (losing earlier DOS time-sensitive games, but with maximum performance in late DOS games). If we are planning a dual CPU system, then Pentium-III becomes a must, since VIA doesn't support it (you won't get any boost w SMP in DOS or Win98, but if you also run BeOS and classic Linux on it, then you will notice the difference).

For "early to late DOS" + "early Win98SE games", I find the original Ezra (at least until we find a way to fully unleash MTRR WC on Ezra-T) to be the best all-rounder. Coupled with a GPU w HW T&L (e.g. Nvidia FX5500), the Ezra is no sloucher, it can still handle at medium details and up to 800x600, DX8.1 games like the The Hobbit (Sierra 2003) and Harry Potters (EA 2001 to 2004) at 20-30 FPS. Fully enjoyable.

I will later publish more data, to give you an early idea of Nehemiah vs Ezra 3D performance in Windows:

- 3DMark2001 SE: Ezra-T 1200 -> 3121 ; Nehemiah 1200 -> 3462 (GeForce FX5500, nvidia drv 45.23, DX8.1 - average of 3 runs)

Reply 14 of 37, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
sunmax wrote on 2024-08-30, 16:24:

<snip>
On the other hand, if we are focusing on win98se w S370 or Slot1 + Slotket, then we can envision that Pentium-III 1.4S, could be even a better choice (losing earlier DOS time-sensitive games, but with maximum performance in late DOS games). If we are planning a dual CPU system, then Pentium-III becomes a must, since VIA doesn't support it (you won't get any boost w SMP in DOS or Win98, but if you also run BeOS and classic Linux on it, then you will notice the difference).
<snip>

You're overthinking things... I don't think Nehemiah is adequate (or any C3 CPU for that matter) for anything more than DirectX 7 stuff. That means to say -- mid 90s to late 90s... Quake 2, maybe Quake 3... For DirectX 9, the sky's the limit. You can get 3-4ghz machines running Windows 98 natively. Best case scenario -- you're going to get PIII 700 speeds with the most overclocked Nehemiah.

For downclocking -- I use RayeR's SMB with Setmul... I don't intend to touch L1. C3 has a bunch of other stuff to disable to fine-tune things. I don't know what you mean when you say your sound cuts off when you lower to 66Mhz FSB. That shouldn't happen. I can lower my FSB to 50Mhz and things should work fine. PCI will run a bit under spec at that speed, but it should work.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 15 of 37, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++

Interesting. Gonna check C7 Eden 1200 Mhz from Wyse thin client later, to see how much it's improved, compared to Nenemiah. On the topic, I think that Ezra-T has botched compatibility with some chipsets.

I must be some kind of standard: the anonymous gangbanger of the 21st century.

Reply 16 of 37, by sunmax

User metadata
Rank Newbie
Rank
Newbie

Thanks, C7 numbers would be interesting!

Good point about compatibility: so far we know that on 440BX the C3s are more performant that on VIA's chipset (PLE133T and PNE133T) tested so far. We see in other Vogons tests, Nehemiah 1200 on 440BX coupled with a nice Voodoo3 + WC gets up to 70 FPS with Quake1 SVGA, while on VIA chipset and same Nehemiah 1200 Quake1 SVGA stops at 50 FPS (still an excellent result, but 40% lower). So we expected FPS to be lower, and this impacts all C3s. Would be interesting to see if Ezra-T has an additional incompatibility, which prevents WC from fully boosting video performance on VIA chipsets. We'll need to test on 440BX + Ezra-T, with WC off and then on, and measure the speed gain to verify if Ezra-T WC fully works on 440BX.

Reply 17 of 37, by sunmax

User metadata
Rank Newbie
Rank
Newbie
mockingbird wrote on 2024-08-30, 20:01:

I don't know what you mean when you say your sound cuts off when you lower to 66Mhz FSB. That shouldn't happen. I can lower my FSB to 50Mhz and things should work fine. PCI will run a bit under spec at that speed, but it should work.

I think SMB and VIAFSB work in a different way, SMB allows you to also set the divider and it's designed for hot-switch, so your PCI and ISA are not affected (or possibly marginally effected, if we set some FSB speed like 50). On VIA chipset, when you change the FSB with VIAFSB, let's say 133->66, ISA is also cut 50% and system will lock if a game try to use the ISA soundcard, so you have to disable sound in the game configuration. The behavior is expected, and described in one of the Voodoo compatibility threads in Vogons. The best use of VIAFSB is fine-tune (slightly overclock) the FSB, e.g. 100 -> 105 or 112, it's not meant for hot-switching FSB, I abuse it in that sense, and it's possible to switch FSB 133 to 66 (statistically 8 out 10 I get a pass, the system locks in the other 2 attempts), with the ISA limitation mentioned.

Reply 18 of 37, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
sunmax wrote on 2024-08-30, 21:23:

I think SMB and VIAFSB work in a different way, SMB allows you to also set the divider and it's designed for hot-switch, so your PCI and ISA are not affected (or possibly marginally effected, if we set some FSB speed like 50). On VIA chipset, when you change the FSB with VIAFSB, let's say 133->66, ISA is also cut 50% and system will lock if a game try to use the ISA soundcard, so you have to disable sound in the game configuration. The behavior is expected, and described in one of the Voodoo compatibility threads in Vogons. The best use of VIAFSB is fine-tune (slightly overclock) the FSB, e.g. 100 -> 105 or 112, it's not meant for hot-switching FSB, I abuse it in that sense, and it's possible to switch FSB 133 to 66 (statistically 8 out 10 I get a pass, the system locks in the other 2 attempts), with the ISA limitation mentioned.

Thanks for that... Just a correction -- I meant CPUSPD, not SetMul previously... Well, it's a combination of the three - SMB to lower FSB, SetMul for the multiplier, and CPUSPD for processor specific features.

You got four things, L2, Branch Prediction, I-Cache and D-Cache... Combine that with multiplier and FSB adjustment and you're set.

I'll also be experimenting with Esther soon. Esther was produced in Socket 478 (but near unobtainium now), and I'll throw that in my P4 system. Minimum it will do is 800Mhz. But I reckon it can also be slowed down reliably pretty well with the processor specific features. And Esther has SSE2 and SSE3 as well.

Looking forward to @The Serpent Rider's WC test later for C7.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 19 of 37, by jtchip

User metadata
Rank Member
Rank
Member

I happen to have C7 results handy, only for Quake, specifically a C7-D 1.5GHz (15x100, multiplier locked, no P-states) on a Jetway J7F2 (CN700, AGP 8X iGPU), WC off->on (vid_wait 0):

  • Quake VGA: 175.2 -> 195.3
  • Quake SVGA: 32.0 -> 81.1 (2.53X)

As another data point, this is quite similar to a Pentium III 933MHz (7x133) on an Asus CUSL2-C (i815EP), ATI Rage XL AGP 2X:

  • Quake VGA: 149.5 (didn't run WC on)
  • Quake SVGA: 38.0 -> 82.7 (2.18X)

so the C7 results looked entirely normal to me.

Edit: Updated Quake SVGA C7 result after re-test

Last edited by jtchip on 2024-09-02, 00:13. Edited 1 time in total.