VOGONS


VRAM vs DRAM

Topic actions

Reply 20 of 37, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

A CPU/bus cannot saturate the bandwidth of the memory, which means that you can rule out bandwidth as a cause.

But it would still be bandwidth related...
The CPU can't saturate the memory bandwidth - but the accelerator can!

Both the CPU and the accelerator are affected by latency, but only the latter can compensate it with bandwidth.

Reply 21 of 37, by Tiido

User metadata
Rank Oldbie
Rank
Oldbie

Having more bandwidth for the CPU end means it will have to wait less after the graphics core operations which always get priority. Higher performance things have FIFOs and caches to soften the problem.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 22 of 37, by Scali

User metadata
Rank l33t
Rank
l33t
Grzyb wrote:

But it would still be bandwidth related...
The CPU can't saturate the memory bandwidth - but the accelerator can!

Not sure you understood what I meant.
We were only talking about DOS usage, so only the CPU-side.
And the CPU cannot saturate the bandwidth that the memory is capable of delivering, so performance can't be bandwidth-related.
The performance is related to other kinds of overhead with memory transfers.

Grzyb wrote:

Both the CPU and the accelerator are affected by latency, but only the latter can compensate it with bandwidth.

But as I said, we were talking about DOS usage of DRAM vs VRAM, so the accelerator part is don't care, and we've basically ruled out bandwidth.
So that brings us back to the earlier questions:
1) How much performance difference between DRAM and VRAM in DOS?
2) What is the root cause?

Is it really latency?

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 23 of 37, by mpe

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

1) How much performance difference between DRAM and VRAM in DOS?

based on my notes:

1. SpeaV7 Mirage P64V Turbo, S3 868 2MB DRAM PCI
2. Spea V7-Mercury P64V, S3 968 2MB VRAM PCI

In DOS the VRAM is approx. 2% slower (DOOM, Quake, 3DBench, PCPlayer average)
In Windows the VRAM is approx. 24% faster (ZD Winbench in 1024x786x8)

I was under impression that the difference in DOS was actually bigger....

Blog||486DX-50|NexGen 586|S4

Reply 24 of 37, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

Well, in the first generation of VRAM cards, the difference was pretty bad. I think a lot of manufacturers were able to work around it somewhat. I tend to agree with you that the 968 is a great all around card for an older system. You get the full speed of VRAM in windows with minimal penalty in DOS.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 25 of 37, by pentiumspeed

User metadata
Rank Oldbie
Rank
Oldbie

Not bunk, I had a ATI Graphics Ultra ISA card which is vram based. Good for windows, gaming is slower due to slow incompatible VGA part with 512K dram. Then later on when I tried to use it again on later windows, the drivers was limited held it back. 1MB can only get you that far. 2MB S3 and 2MB cirrus logic much better on PCI or VLB.

Went to Tseng 4000w32i/p 2MB vlb and had good times with it. Now already wiser and more informed now have some S3 and Nvidia cards in PCI and AGP favors for building my retro boxes.

Cheers,

Great Northern aka Canada.

Reply 26 of 37, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

Given the reputation of Trident chipsets, I was shocked at how well my 8900D card performed with some DOS-based benchmarks. It turned out to be the fastest ISA card I have! So, I installed that in my 386DX/40, where I plan to use Windows to do some coding. I figured the extra speed would be helpful.

No. Oh dear, no. Its Windows performance is terrible. Window draws are visible events, scrolling in Paintbrush is like watching the computer squeegee the monitor from the inside.

I swapped in my Orchid Fahrenheit 1280+, which notably did NOT do very well with DOS benchmarks, and the Windows performance is quite good. It's still a 386, so... you know.. but good.

Reply 27 of 37, by Scali

User metadata
Rank l33t
Rank
l33t
SirNickity wrote:

Given the reputation of Trident chipsets, I was shocked at how well my 8900D card performed with some DOS-based benchmarks. It turned out to be the fastest ISA card I have!

Yea, Trident's 'reputation' is mainly based on the ubiquitous 9000-series. The 8900s are considerably better, if not quite top-of-the-bill.

SirNickity wrote:

No. Oh dear, no. Its Windows performance is terrible.

Yea, most Tridents have no Windows acceleration whatsoever. So every pixel needs to be pushed by the CPU, which makes performance tank on any reasonable resolution and/or colourdepth.
Orchid Fahrenheit uses the S3 911 acceleration chip, which is pretty decent. Hardware cursor, blitting, polygon fill, clipping. The basics of decent GUI acceleration.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 28 of 37, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

Reminded me about this thread - VGA benchmark between Orchid Fahrenheit 1280 and Trident 8900D-R

TVGA8900D is a few years later than S3 911, but still lacks something...

Reply 29 of 37, by Scali

User metadata
Rank l33t
Rank
l33t
Grzyb wrote:

TVGA8900D is a few years later than S3 911, but still lacks something...

I thought the '89' and '90' in the names represented the years, so 1989/1990. Which means they're older than the S3 911 (1991).

Trident 9200 and later have Windows acceleration, but I think these are relatively rare.
Trident's heyday was with cheap ISA cards in cheap brandless beige clones, in the 8088-386 era.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 30 of 37, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

I thought the '89' and '90' in the names represented the years, so 1989/1990.

Very likely, but only the original variants.
8900D bears 1992 copyright, 8900D-R - 1994.

Trident 9200 and later have Windows acceleration, but I think these are relatively rare.

See the 9200CXr datasheet - http://vgamuseum.info/index.php/companies/ite … 323bd58745d9143 - still nothing about acceleration, and it's designed for VLB.
Trident was very late for acceleration, they finally included it in the TGUI9400 series - also for VLB.

Trident's heyday was with cheap ISA cards in cheap brandless beige clones, in the 8088-386 era.

They were ubiquitous in the VLB era as well, for me it seems that vast majority of VLB cards are either Cirrus Logic, or Trident.

Reply 31 of 37, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

Yea, most Tridents have no Windows acceleration whatsoever. So every pixel needs to be pushed by the CPU, which makes performance tank on any reasonable resolution and/or colourdepth.
Orchid Fahrenheit uses the S3 911 acceleration chip, which is pretty decent. Hardware cursor, blitting, polygon fill, clipping. The basics of decent GUI acceleration.

You know, I've gone a long time without ever really understanding what "Windows acceleration" truly meant. That makes a lot of sense. These are all the things most commonly used in Windows video benchmarks, before 3D. So, is that the secret, then? Less about RAM type, more about the fact that DOS applications were pixel-pushers, and Windows leaned more on hardware 2D primitives support?

I'm also curious... somewhere between Win95 and maybe around Windows 2000, we weren't quite as dependent on filled rectangles anymore. That seems to imply that, after bus bandwidth had increased a few times over, GUIs moved back to pushing pixels again..? At least until Win 7, when viewports were handled as textures.

Reply 32 of 37, by Scali

User metadata
Rank l33t
Rank
l33t
Grzyb wrote:

Very likely, but only the original variants.
8900D bears 1992 copyright, 8900D-R - 1994.

Yea, could be late revisions, but they would only have minor changes compared to the first versions, as they don't have acceleration, and performance is still very limited.

Grzyb wrote:

See the 9200CXr datasheet - http://vgamuseum.info/index.php/companies/ite … 323bd58745d9143 - still nothing about acceleration, and it's designed for VLB.

Yes, you're right. Only the later/more high-end VLB cards have any Windows acceleration at all.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 33 of 37, by Scali

User metadata
Rank l33t
Rank
l33t
SirNickity wrote:

So, is that the secret, then? Less about RAM type, more about the fact that DOS applications were pixel-pushers, and Windows leaned more on hardware 2D primitives support?

Pretty much.
Windows has a Hardware Abstraction Layer (HAL), which means that any access to hardware goes through an additional layer (basically the API and driver).
This is what allows Windows to run on a wide variety of display adapters without any applications requiring specific support for each resolution, colour depth or whatever.
It also allows hardware/driver developers to implement the logic that underlies the API calls in hardware.

The RAM type is an extension of that: Once you're designing a video chip that can do advanced rendering operations anyway, you might as well push the limits of the chip and strap some really fast memory onto it. Which generally only has an effect with these accelerated operations, because the CPU/bus can't access the memory that fast anyway.

It's basically an early version of the modern 3D accelerator/GPU.

The Amiga was actually one of the earliest machines to do this:
It has a blitter chip, which can perform linedrawing, blit operations, area fill and such. And it has hardware sprites, which can be used as hardware mouse cursor.

In the early 90s, the more high-end SVGA cards also started offering such features, and in Windows you could leverage this.
In DOS, each application would require specific support for each SVGA chipset, since there's no abstraction layer provided by DOS or the BIOS. So you'd get a lowest common denominator approach.
This finally changed when 3D accelerators arrived. Supporting a 3D accelerator was worth the extra effort, because your game would look considerably better and performance would also improve.
Besides, the hardware vendors would gladly assist in adding support for their 3D accelerator to your game.

SirNickity wrote:

I'm also curious... somewhere between Win95 and maybe around Windows 2000, we weren't quite as dependent on filled rectangles anymore. That seems to imply that, after bus bandwidth had increased a few times over, GUIs moved back to pushing pixels again..? At least until Win 7, when viewports were handled as textures.

Yes and no.
That is, up to and including XP, there was still a reasonable amount of hardware acceleration in place for the GUI components. You can get quite far by just drawing lines, rectangles etc. You'd also use bit blit to drag windows with content.
With Vista that changed. The new Aero desktop was using textures, and ran on DX9. However, the driver model was not entirely complete yet, which meant that there was no way to accelerate the classic GDI API that Windows uses to draw its components. So all components were drawn into the textures with the CPU.
However, because the textures and the z-buffer could now handle overlapping and clipping etc in an elegant way, there was a lot less redrawing required than for XP, so effectively, performance was still quite good without acceleration. The window composition was hardware-accelerated, and that was enough.

With Windows 7, the driver model was updated, and GPUs could now accelerate some GDI operations in hardware again (but still only the basics, such as blitting). Microsoft also redesigned the GDI internals to make much better use of multithreading, by not making most calls blocking.
Direct2D was introduced as a new fully accelerated 2D rendering API as a successor to GDI.
Windows 7 also changed the way Aero uses backbuffering, to reduce memory usage. Drawing is done directly into textures in the AGP aperture.

See more info here: https://www.tomshardware.com/reviews/2d-windo … gdi,2547-2.html

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 34 of 37, by elianda

User metadata
Rank l33t
Rank
l33t

I think the main advantage of the dual ported nature of VRAM was that in high resolution + refresh modes the DAC does not take the main part of the available memory bandwidth. On a comparable DRAM cards at high res / high refresh modes the card goes slow as the memory bandwidth for drawing goes down. You don't experience this so much with VRAM based cards.

Also the introduction of video support through overlay added another source that required quite a lot memory bandwidth when used.

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 35 of 37, by Scali

User metadata
Rank l33t
Rank
l33t
elianda wrote:

I think the main advantage of the dual ported nature of VRAM was that in high resolution + refresh modes the DAC does not take the main part of the available memory bandwidth. On a comparable DRAM cards at high res / high refresh modes the card goes slow as the memory bandwidth for drawing goes down. You don't experience this so much with VRAM based cards.

Yes, VRAM is basically designed to 'cache' (part of) a scanline in an internal shift register in a single read access, which can be clocked out to a RAMDAC.
This means it doesn't need to insert as many waitstates for RAMDAC access.
The higher the pixelclock (higher resolution and/or higher refresh rate), the more difference this can make, beacuse more RAMDAC accesses are required per second.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 36 of 37, by vlask

User metadata
Rank Member
Rank
Member
mpe wrote:
based on my notes: […]
Show full quote
Scali wrote:

1) How much performance difference between DRAM and VRAM in DOS?

based on my notes:

1. SpeaV7 Mirage P64V Turbo, S3 868 2MB DRAM PCI
2. Spea V7-Mercury P64V, S3 968 2MB VRAM PCI

In DOS the VRAM is approx. 2% slower (DOOM, Quake, 3DBench, PCPlayer average)
In Windows the VRAM is approx. 24% faster (ZD Winbench in 1024x786x8)

I was under impression that the difference in DOS was actually bigger....

Problem here is that these cards uses different chipsets (well maybe not so much, as both are from same generation). Best would be testing with both cards same chip. We cant be sure, that they will
be clocked the same, but its closest as you can get. Guess that best candidate will be Mach64 GX, because it was sold as DRAM and VRAM version.....
http://vgamuseum.info/index.php/component/k2/ … 7-ati-mach64-gx

Not only mine graphics cards collection at http://www.vgamuseum.info