Introduction
For the first time a PowerVR based board has made its way into the US THG lab. Sporting promising and innovative new technology, we have high expectations for the board with all the upcoming “hardcore” graphics competition. We need to keep in mind that the graphics industry can be pretty cutthroat with companies like 3dfx, Matrox, ATI, NVIDIA and S3 offering well marketed or stellar performance hardware.
In the case of the VideoLogic Neon 250, we have a board that brings us some new technology, which we will go over shortly. With all these new technologies promising us the world, we have to take into consideration if the card’s claims will actually help in our various situations. From what I have read on the PowerVR chip, I expect a very efficient graphics engine but it doesn’t mean I think it’ll crush the competition in any given application.
Technology Overview
So what’s the big deal about this PowerVR technology? Let’s start with part of the rendering process that PowerVR differs from the “regular” process in a real basic view. Normally, in the case of other accelerators, triangles (which make up our beloved polygons) are sent in any order (except that alpha blended triangles restricts some ordering flexibility) to the card and the Z-buffer on the pixel level decides which polygons will appear in front of the others. The common method described above requires a random access Z-buffer that has the exact dimensions (but not necessarily the same number of bits) as the screen itself. This is not generally as efficient since everything is done on a per-pixel comparison.
With PowerVR the process is as follows:
- Gather and chunk (intersect check) all the triangles for the scene. Please note that this is done completely in hardware. The triangle data is bus mastered from host memory.
- Starting with the first chunk, the scene is rendered as normal within that chunk, except that it all takes place just in the on-chip rendering cache.
- The final rendering in that cache is then copied to the final back buffer. So each pixel is written once at most.
- Repeat for each chunk.
- Flip the back buffer to the front buffer.
- Done.
Why is this a good thing? Z-buffer memory and memory bandwidth is not used (all the z comparisons occur on chip) and only visible pixels that are to be drawn in the display memory are textured, shaded and lit, saving both unnecessary graphics processing and memory bandwidth for texture fetches. Keep in mind that the PowerVR does indeed have a Z-buffer but it’s only a tile (chunk) in size, 32×16 pixels in the Neon250’s case, and is entirely on chip. This “cache” of sorts is used for each chunk so the bandwidth of a full sized memory based implementation of a Z-buffer is saved in exchange for this high-speed on-chip Z-buffer. The on-chip Z-buffer runs in parallel with other pipeline stages so there is no cost in terms of performance.
So how the heck are they doing all this? PowerVR has something called ‘display list render’, which allows them to batch polygons before rendering them with the 3D hardware. Normally a board would draw polygons one by one. Because of this, the scene can be rendered in regions or tiles. Some of you may be familiar with the BitBoys’ method of tiled rendering that is not a deferred rendering scheme. Their Glaze 3D part is a traditional accelerator that uses screen tiling as a simple way to order its pixel/texel accesses in a manner that’s friendlier to their texture cache.
If you saw a scene generated (a single frame) by a regular card, you would see the picture appear polygon by polygon. If you were to see the same scene drawn by the PowerVR, the picture would start to fill in by tiles, left to right, top to bottom. Thanks to this method, they were able to get rid of the external Z-buffer thus saving memory and memory bandwidth. A big thanks to Paul for providing some major technical assistance!
VideoLogic Neon 250 Video Drivers – Display Properties
The Neon 250 provides a pretty basic set of drivers with common features. We have provided screenshots of each display property window.
Here we have the basic display controls that seem to be pretty standard
Here we have the Direct3D options for the Neon 250. You’re able to change quiet a few things here but we’re mostly interested in the V-sync option right now.
The Neon 250 is backwards compatible with PowerSGL and has an option screen for it. PowerSGL is a PowerVR native API.
As we make our way around the Neon’s option windows, we find the MiniGL option window. Keep in mind that there is no OpenGL ICD at this time.
VideoLogic Neon 250 Video Drivers – PowerVR Assist
At the taskbar we have a PowerVR assist icon that we can bring up with several option tabs. Here we have the system information tab.
Moving along to the next tab we get into the basic display property information screen.
Need to clarify what driver you’re using? This is probably the screen for you. It contains a listing of all the driver .DLL’s as well as a nifty integrity check option.
The resource tab isn’t anything special since Windows offers the same thing. The only real unique ability you have when using this tab is the checkbox to view resources that are used by VideoLogic devices.
Here you can run a DDraw or D3D test to make sure your card/driver are working properly.
Platform Configuration
Hardware Information | |
Processor(s) | Intel Pentium !!! 550MHz |
Memory | 128MB Viking PC100 CAS2 |
Hard Disk | WD AC418000 |
Network | Netgear FA310TX |
Driver Information | |
Neon 250 | 4.11.01.10055-1.00.00.0175 |
NVIDIA TNT2 Series | 4.11.01.0208 |
Creative Labs TNT2 Series | 4.11.01.2103.03.0204 |
Voodoo3 Series | 4.11.01.1151 |
Matrox G400 Series | 4.11.01.1250 |
Environment Settings | |
OS Version | Windows 98 SE 4.10.2222 A |
DirectX Version | 7 |
Quake 3 Arena | v1.08 command line = +set cd_nocd 1 +set s_initsound 0 |
Shogo | v2.14 Advanced Settings = disable sound, disable music, disable movies, disable joysticks, enable optimized surfaces, enable triple buffering, enable single-pass multi-texturing High Detail Settings = enabled Fortress Demo |
Expendable | Demo Version Setup = use Triple Buffering Audio = disable sound |
Descent III | Retail version Settings = -nosound -nomusic -nonetwork -timetest |
Shogo Results
Although the Neon 250 doesn’t pull ahead of everyone, it still performs at a respectable frame rate.
I was pretty shocked to see the performance roll off so soon for this card. The card falls almost 15 FPS behind the next slowest card!
At this point, I expected to see a pretty low number. There isn’t a card in our testing that performs acceptably for that matter.
Expendable Results 16 Bit
Aside from the TNT2 Ultra, we have the batch of cards basically all performing in the same neighborhood.
It’s very interesting to see the Neon 250 take a bit hit when jumping to 1024×768. It still performs adequately here but doesn’t take the top honors.
Bumping the resolution up to 1600×1200 the Neon 250 drops out of the acceptable performance area but it at least completed the testing.
Expendable Results 32 Bit
Once again the Neon does a descent job at keeping pace with the rest of its peers but falls short of the victory.
Here we have the Neon pulling it’s own at 1024×768 in 32-bit color. Not too shabby but once again doesn’t top the charts.
Unfortunately the Neon 250 failed to run the benchmark at this setting but if you look at the other available cards, you probably won’t find one capable of doing the job.
Quake Arena Results – Normal Quality
Interesting, the Neon 250 pulls rug from under the competition and lands a first place score. The MiniGL driver performs well in Quake Arena without any visual flaws.
Interestingly enough, the Neon keeps up with the big boys in this one winning a steady 3rd place.
Putting the card at 1600×1200 was just too much for it to handle as it struggles to keep above a 20fps average.
Quake Arena Results – High Quality
At 32-bit and low resolution the Neon places a respectable 2nd place. The good thing about the card is that it does indeed look great while offering good performance.
I’m starting to suspect that the Neon 250 is having some memory bandwidth issues although the graphics architecture offers a very efficient setup. It seems like the performance nosedives when you up the resolution; especially when you do that and switch to 32-bit mode.
The card definitely can’t handle being cranked up this high but then again, who else can?
Descent3 Results
The Neon takes a beating in the Descent3 test. Although it does ‘ok’, the competition leaves it in the dust.
Neon struggles to maintain a 30 fps average in this test while the rest of the cards seem to have no problem at all. VideoLogic fans better hope there’s room in the drivers for improvement.
How many of this could see this one coming? The Neon isn’t going to be the right card to use in Descent3 at this high of a resolution.
The scores for Descent3 in OpenGL were omitted because only the TNT2 Ultra was able to finish any of the testing. The Neon 250 wasn’t able to run this benchmark due to the fact that the OpenGL driver is actually only a MiniGL driver that is optimized for Quake Arena.
Conclusion
The Neon 250 offers some very interesting technology that in theory can offer major performance gains under certain circumstances. However, when these certain ‘circumstances’ aren’t present, the card doesn’t really keep up with the graphics cards in its class. The OpenGL performance in Quake Arena is very good while the visual quality in our entire test suite was excellent. With a little more work on their drivers (and a full OpenGL ICD which won’t be easy), I think VideoLogic will have a pretty competitive card on their hands until the prices of the TNT2 Ultra based cards drop (thanks to the GeForce making it’s way into stores).
What’s the final verdict? If you need a video card that is first-rate at 640×480 in all your applications and respectable at 1024×768 in some games, you may want to check into a lower priced card that can do this too(Savage4, TNT2 M64, ATI Rage 128, VD3 2000). The performance of the Neon 250 in Quake Arena is impressive when compared to the rest of its peers until you hit higher resolution 32-bit color modes (which is what you want from a card in this price range). I have a feeling that the 64-bit memory is holding the card back (imagine the NVIDIA M64 compared to the regular 128-bit TNT2). Although it’s very efficient, in some cases it probably needs the higher memory bandwidth that it doesn’t have. The overall package will most likely not appeal to everyone because of the competition in the $170 range. If this card was $50 cheaper then I think it would be much more of a bargain but with Matrox, 3dfx and NVIDIA offering such great cards in that price range, I can’t possibly suggest buying this card. Without stellar performance at 1024×768 and lack of an OpenGL ICD, I would have to suggest looking elsewhere.