by FastSite
09/30/2002 | 12:00 AM
After the arrival of Matrox Millennium G400, an excellent graphics card in all respects - both for its performance and quality, we were all waiting for Matrox to continue steadily increasing the performance in its future chips, such as G600, G800 and so on. However, the company rolled out just a modified version of G400, the G450 chip, after that. G450 based graphics cards earned their popularity as a "working horse" among users who need high 2D image quality, but in games they looked no that attractive with the competitors shipping much stronger products.<%BANNER[article]%>
G450 was followed by the G550 chip. It didn't boast high performance, either, but Matrox Millennium G550 based cards provided good image output onto the display and supported digital displays. Being the continuation of G450, G550 again proved to be more "for work" than "for play" and we witnessed no attempts from Matrox to claim the leadership in the gaming graphics card market.
This situation could prove dangerous for the very presence of Matrox in the graphics card market, as there were strong rivals appearing even in the stronghold of Matrox: high display image quality. Fortunately, we won't forget the name of Matrox. 11 months after the announcement of G550, on May 14, 2002, the company announced its new chip, Matrox Parhelia-512.
The flow-chart of the Matrox Parhelia-512 chip:

Here are its general features:
General:
3D features:
2D features:
Some of the features listed above deserve a closer look of ours, so let's dwell on them now.
All present-day graphics cards and operating systems are known to be disintegrating each color into three components (channels): red, green and blue. The stored color value of every component takes eight bit at most. So, this value may range from 0 to 255 (2^8-1). There're 16777216 (256x256x256) possible combinations of the three color components. This way, there are up to 16 million colors to be displayed in case of the regular color storing system.
The GigaColor technology is one of the "hits" of Matrox Parhelia-512. It's intended to provide more precise color representation. With GigaColor, every component of pixel color can be written into 10 bits and thus every color component (channel) may range from 0 to 1023 (2^10-1) and the total number of colors that can be displayed on the monitor increases over a billion. It's 1073741824, to be exact.
Matrox Parhelia supports 10-bit color components representation throughout the entire pipeline, including textures with 10bit per channel color precision (ARGB 2:10:10:10), higher-precision internal calculations, frame buffer with 10bit color depth, video and overlays. The same color depth is used in image output units, such as TV-Out, RAMDACs and TMDS transceivers.
The only shortcoming of GigaColor is that the increase in the number of bits assigned to each of the color components, didn't imply the increase in the number of bits for the entire pixel: every pixel is allotted the same 32 bits in the memory. To increase the color precision they had to sacrifice the remaining bits intended for the other pixel info, so that it got as small as 2 bits only. And the problem about it is that this spot is usually used to save the alpha channel (transparency) value. So, now, it's impossible to use GigaColor technology when we need more than 2-bit precision of the alpha channel.
Matrox Parhelia-512 boasts all the multi-display features of its predecessor, Matrox Millennium G550. They're DualHead Clone, DualHead Zoom, DualHead Multi-Display and DualHead DVDMax:

Moreover, there's one more multi-display configuration in Matrox Parhelia-512: TripleHead.
In this mode, the graphics card provides image output onto three displays in the desktop extension mode. In this case all the displays have the same screen resolution, and the image is displayed in Stretched mode, i.e. has no shift on coming over to the next display. This feature could be useful for those who need a really large desktop:

TripleHead has its shortcomings as well. In three-display mode you have to make sure that all displays have the same screen resolution, color depth and refresh rate (for CRT displays). It also doesn't support TV-out and GigaColor technology in this mode.
Surround Gaming implies using a frame buffer of triple width and image output onto three displays in games. This way, in a 3D action or auto-simulators, for instance, the player's field of view (FOV) appears wider but not even a little bit higher.

Simulator fans can really enjoy the feature.
As for shortcomings of Surround Gaming, it has all those of the basic TripleHead. Besides, the graphics card workload gets much higher. So that it can result in low gaming speed.
Adaptive polygon tessellation is one more key feature of Matrox Parhelia. As hardware adaptive polygon tessellation is going to be one of the requirements for DirectX9-compatible graphics cards, let's have a closer look at the technology.
Tessellation is the splitting or partitioning of the image into multiple smaller triangles that helps to reach higher level of detail of the model. An example of the tessellation is the TruForm technology from ATI. It provides this partitioning and the vertexes of the new, smaller polygons are not uniplanar with the vertexes of the triangle being partitioned. These vertexes lie in the plane determined by the direction of normals in the vertexes of the original triangle (for more information refer to the documents on TruForm and Curved PN Triangles on the ATI's web-site). As a result of the higher level of partitioning, the triangle starts looking like a smooth patch. The model consisting of these patches (N-patches) instead of original triangles looks much more natural. Look at the picture below. In the upper row you can see the original triangle and a few levels of tessellation, while the lower row shows the "patches", this triangle forms:

Tessellation of this kind requires no extra data to be sent to the GPU as all the necessary information (the coordinates of vertexes and normals) is already included into triangle vertexes description. And this means that the amount of descriptive data for each model doesn't grow as we shift to TruForm-like technologies, but can be made even smaller by reducing the amount of original polygons for the model.
We can go further and let the hardware choose the tessellation level necessary for a given triangle. For example, we can use the maximum tessellation level for closely located objects and no tessellation at all - for distant ones. Thus, we can greatly reduce the number of vertexes to be processed by the geometric pipeline of the chip (T&L and vertex shaders units have to process tessellated vertexes in addition to the original polygon's vertexes) and boost performance almost without losing any quality.
But here we can encounter a problem. Imagine a model that consists of two polygons, and the one closer to the observer is more tessellated than the other:

Tessellation produced incorrect results: the polygons share one edge and each polygon created new vertexes on the rib, but these vertexes do not coincide. So, there are "gaps" in the model, that are marked in red. Evidently, we need some better way to perform adaptive tessellation.
This problem disappears once we resort to continuous polygon tessellation.
Continuous Tessellation
The usual triangles partitioning, such as in case of TruForm, implies tessellation on the integer levels, i.e. when every edge of the original triangle is split into two, three, four and so on, segments on the first, second, third and so on, partitioning level.
The algorithm of continuous tessellation should provide smooth change of triangle partitioning types and simultaneous smooth transition from one level of detail (tessellation) to another. Here's what the algorithm should do:

Here's an example of a continuous tessellation algorithm that complies with the above mentioned requirements:

Here, on transition from the zero level of tessellation to the first one, we get additional vertexes that coincide with those of the base polygon. As the tessellation level grows, the extra vertexes approach the edge middles and finally get there. The lower row of the picture above shows a model that consists of one triangle like that. Of course, if the tessellation level changes smoothly, the model also changes smoothly, without any "popping" effects.
The adaptive polygon tessellation from Matrox, Depth-Adaptive Tessellation, is more sophisticated but complies with the above-listed general requirements.
In case of Depth-Adaptive tessellation, the base triangle is split into 6 triangles on the zero tessellation level already. The triangles are formed by three vertexes that lie in the middles of the edges and the vertex that lies in the medians point of intersection. On transition to the first tessellation level, the number of the vertexes is increased by 12, so that the overall amount of triangles becomes equal to 22.
Smooth increase of tessellation level results in "moving apart" the vertexes that lie on the edges and inside the original triangle until the vertexes take their places and the resulting triangle mesh becomes uniform.
On further increase of the tessellation level, i.e. on smooth transition from the first to the second level of detail, 6 more vertexes appear and the number of triangles created goes up to 31.
Then, the vertexes "move apart" until the triangle mesh gets even again:

This tessellation algorithm is applied again and again and this way the mesh will become uniform at any integer tessellation rate.
The above mentioned example represents an ideal case when tessellation level is the same for every edge of the base triangle. In reality, different edges may have different tessellation levels. This level is determined by the distance between the edge vertices and the observer: the closer the edge, the higher tessellation level is used. That's where the name of the patent-pending algorithm from Matrox comes from: Depth-Adaptive Tessellation.
You can see the actual results of the adaptive tessellation from Matrox below. The picture is taken from "Mars" demo and is a little polished for more clearness. The bold lines mark the edges of original polygons:

The "Mars" demo program demonstrates how the uniplane triangle mesh can be transformed into a complex relief model by applying adaptive tessellation and displacement maps.
Hardware displacement mapping support is a long-time dream of software developers who wanted to correctly display bump mapped models without making them too complex by describing each bump in a separate set of polygons.
The existing technologies just simulate the bumps and even the most advanced of them, such as EMBM and Dot3, don't really change the model geometry. Instead, they create an illusion of depth and detail on the surface of the object by using "advanced" texture calculations and lighting processing and applying reflections maps.
The next example from Matrox shows the base model, the effect produced by EMBM and displacement mapping:

It's clear that displacement mapping provides most correct bump representation by changing the very geometry of the model.
But how does it work?
To relocate the vertexes the so-called displacement map is applied. In fact, it is an ordinary texture, but the values it contains are interpreted not as colors but as the displacement distances for vertexes. Every vertex is displaced from its initial position in the base model along the perpendicular dropped from this location. The displacement distance is taken from the corresponding displacement map. A simplified case of a single-dimensional displacement map is shown on the picture below:

If the displacement map is laid upon a tessellated polygon, the vertexes that have been created during tessellation also undergo displacement according to the values from the map. The following picture illustrates this: the base flat model and the tessellated model are on the left; the displacement map and the displaced model are on the right. The final rendered model is located in the lower right corner:

It is evident that by combining tessellation methods with displacement mapping we are able to define complex surfaces with very few parameters: several polygons and the appropriate displacement map. Moreover, as we've already said, the use of adaptive tessellation doesn't tell too tangibly on the image quality and at the same time doesn't demand too much form the GPU.
But there can appear a certain problem: when the vertexes are smoothly "moving" along the edges as it is implemented in the adaptive tessellation algorithm from Matrox, the coordinates of these vertexes in the corresponding displacement map will also be changing. And this means that the vertexes will "pop" on transition to the new coordinates in the displacement map. Of course, that's not acceptable.
Matrox refers to the algorithm use to handle situations like that as well as the general procedure of displacement map sampling as to "Vertex Texturing". The "popping" of vertexes is eliminated very easily: like in case of regular textures, they just apply bi-linear filtering by four neighboring values to the displacement map.
Besides that, MIP-levels are generated and used for displacement maps, like for ordinary textures. This is a very natural thing in this case: with depth-adaptive tessellation a distant model loses its high level of detail, so the displacement maps should also not so detailed.
In order to avoid the "popping" of vertexes during the shift from one MIP-level of the map to another, linear interpolation by two values is used. These values are taken from neighboring MIP-levels. And as a result we receive the displacement distance for the vertex considered. That is, we deal with true tri-linear texture filtering; in our case it is tri-linear displacement map filtering.
Tri-linear filtering of displacement maps eliminates all the "popping" of vertexes or any other unpleasant effects. The shorter becomes the distance to the object, the higher gets the level of detail for it. In other words, the model will be smoothly "growing" more detailed, as well as a blurry distant texture of the model will become more distinct on smooth approaching. The next picture illustrates this point: on the left you can see a model and its displacement map MIP-levels, and on the right - the model and its texture MIP-levels:

Displacement mapping is a powerful and flexible tool for creating bumped objects. For example, you can reach absolutely different results using the same model and different displacement maps. Matrox provides the Character Demo program where the human body model is transformed into different "aliens" with different displacement maps:

Displacement maps as well as ordinary textures don't have to be static. They can be changed, refreshed, or even generated anew for each frame. So, for example, it's possible to create an ocean surface with waves on it, for a flight simulator, or a bumped battlefield with trenches, antitank ditches, and permanent shell-holes, for a strategy.
All in all, the possible application fields for the displacement maps are really impressive. Besides, the fact that they included displacement mapping support into DirectX 9 specification means that very soon it will become a standard for DirectX9-compatible graphics accelerators. There is not much to do now: the game developers need to get excited about this technology as well and to start using displacement maps in their products.
Matrox Parhelia features 4x4 organization: 4 pixel pipelines with four texturing units each.
Seems like this is going to be great advantage over competitors in polygon texturing speed. For example, ATI RADEON 8500 and NVIDIA GeForce4 Ti4600 have four pixel pipelines with two texturing units each.
But the texturing units of Matrox Parhelia, unlike those of the competitors, can only take four texture samples per clock, that is, to perform bi-linear filtering only.
To perform tri-linear filtering, the texturing units of Parhelia are combined in pairs and eight samples are taken from each texture (four from each of the two closest MIP-levels of the texture).
When performing anisotropic filtering, texturing units again get combined in pairs thus reducing the texturing speed.
The implementation of anisotropic filtering in Matrox Parhelia is worth closer look. During anisotropic filtering, the projection of a pixel onto the model surface is interpreted not as a pixel, but as an elongated ellipse:

In order to calculate the pixel's color correctly, the GPU has to sum up the colors of all texture samples (with the corresponding coefficients) that come into the ellipse. That's a too complex a task to be solved in real time, so certain simplification is required. Several pixels are set along the longer axis of the ellipse. Then bi-linear filtering is performed in them, so that the average of these values forms the final color:

The calculation of the pixels coordinates in the plane has also become very simple. The GPU calculates the location of the first pixel and increments along the texture axes, then shifts the pixel a required number of times and performs bi-linear filtering in every new location.
The number of pixels and the distance between them correspond to anisotropy level - the ratio between the long and short axes of the ellipse:

So, we'll have more steps at high anisotropy levels and fewer - at low levels. The minimum number of steps is equal to 1, i.e. in some cases anisotropic filtering may "degrade" into bi-linear filtering. This spares the GPU the necessity to do anisotropic filtering where it's not required.
On the whole, the driver just sets the maximum anisotropy level while the GPU defines the necessary number of texture samples in each particular case.
By the way, NVIDIA GeForce3/GeForce4 chips families perform anisotropic filtering very much the same. Although, Matrox Parhelia-512 has its unique peculiarities:
Matrox Parhelia supports standard 2x2 supersampling, the advantages and shortcomings of which you can learn from our article called "On the Way to Ideal Picture". The card also features a new interesting method of smoothing the "jaggies". It's Fragment Anti-Aliasing, FAA.
What is it? The key concept of this method is choosing between the spots where Anti-Aliasing is necessary and where it is not. It's evident that we need the smoothing only on the edges of polygons. FAA-16x, as well as NVIDIA's multisampling, uses the increased number of subpixels to draw a pixel only on the polygon edges. But while NVIDIA's multisampling builds up the image in an enlarged buffer (see "On the Way to Ideal Picture" article), Parhelia involves a separate buffer to store pixels that require processing (fragments of the image, that's where the name "Fragment Anti-Aliasing" comes from ). A simplified scheme of Fragment Anti-Aliasing is shown in the next pic:

That's the way it works:
The colors of all these pixels have been combined and stored in the fragment buffer. They're extracted from the buffer and put into the corresponding parts of the image. After that, the frame buffer will contain a completely ready-to-go picture.
FAA-16x has an evident advantage over supersampling and multisampling: it demands a bit more from the memory bandwidth as it doesn't use the additional enlarged frame buffer for scene construction.
A bit confusing might be the number of subpixels: 4x4, which could make one think of low performance of the method. But in reality in most scenes very few percents of pixels require high-precision processing.
So, on the whole, this method provides unrivalled quality of full-screen Anti-Aliasing at the expense of rather low growth of the workload.
As a result, Matrox Parhelia chip ensures impressive picture quality, as if the edges have been smoothed via 4x4 supersampling. Moreover, the performance losses appear much smaller than in case of 4x multisampling from NVIDIA and much smaller than during 4x supersampling by ATI RADEON 8500, for example.
If the tests of FAA-16x prove this statement, we'll have all reasons to say that Matrox made a revolution in Full-Screen Anti-Aliasing methods!
Glyph Anti-Aliasing means hardware fonts Anti-Aliasing. Windows XP/2000 can turn on screen fonts Anti-Aliasing thus making them easier to read. But this is done on the software level and, according to Matrox, results in about 20-30% slower windows drawing.
Matrox Parhelia supports forced hardware fonts Anti-Aliasing without losses in speed:

Moreover, the user can adjust the subjective "boldness" of symbols by setting the gamma of half-tints produced by Anti-Aliasing.

The picture shows two screenshots of the ordinary "notepad" window, made with different gamma settings.
Glyph Anti-Aliasing puts no limits on colors, font size or outline and works correctly in any conditions.
Matrox Parhelia retails in a stylish white-and-blue box:

The package includes the card, a CD with drivers, demo-programs and utilities, a user's manual and the following adapters: DVI-I-to-D-SUB, DVI-I-to-D-SUB + D-SUB, D-SUB-to-S-Video + RCA:

The graphics card itself looks very unusual as some of the memory chips are placed at an angle of 45deg:

The card is based on the Parhelia-512 chip and has 128MB 256bit DDR SDRAM graphics memory as BGA chips from Infineon with 3.3ns access time:

The shape and size of Parhelia-512 chip are quite impressive. It's not only the largest of all graphics cards I've ever seen, but also features solid metal surface for better heat dissipation from the chip:

The frequencies of the retail Matrox Parhelia are 220MHz for the chip and 550MHz (275MHz DDR) for the graphics memory.
The OEM version has lower working frequencies: 200MHz for the chip and 500MHz (250MHz DDR) for the graphics memory.
This utility combines all the options for Matrox Parhelia configuring. It's quite pleasant to the eye for its stylish, colorful and at the same time not pressing design that is done in corporate Matrox' shades of blue.
The main menu window of PowerDesk HF contains links to separate sections. On passing the mouse pointer over a menu item, you get its description in the box below:

Let's browse through the sections one by one.
If you're not looking forward to reading a long enumeration of all Matrox PowerDesk features, just leave out this part of the review and pass over to the next one the performance tests :) !

This section serves to set up multi-display configurations in DualHead and TripleHead modes.

Here you can adjust the image output onto the display or TV. The possible display devices are listed on the left. Choose the one you like and come over to the settings window:

It's possible to adjust the size and position of the picture in the screen for a CRT display, as well as set up the refresh rate with up to 1GHz precision.

In this section you can choose the TV-out standard and set the image geometry and gamma for the TV screen.

Matrox Parhelia allows adjusting both positioning and size of the picture on the TV screen. This helps to avoid the typical situation when the image appears much larger or smaller than the visible screen area.

Here you can set brightness, contrast, hue and saturation of the image displayed on the TV screen as well as the anti-flickering level.

From this page you can access the Matrox Parhelia settings for work in Windows GUI and 3D.

In this window you can turn on Glyph Anti-Aliasing, adjust the fonts subjective "boldness" and turn on the GigaColor mode.

Here we configure Matrox Parhelia for work in 3D. The options include: turning on GigaColor for games, setting up the Full-Screen Anti-Aliasing mode (4x supersampling if the application needs it, FAA 16x if the application needs it, forced 4x supersampling, forced FAA 16x), texture filtering mode (available options: determined by the application, forced tri-linear filtering, forced anisotropic filtering), the VSync mode (available options: determined by the application, always on, always off).

Here you can turn on the DVDMax mode and go to its settings window, turn on hardware motion compensation and pass to video playback settings.

In the DualHead DVDMax settings window you can set the modes of scaling and video output onto the display or TV. The available zoom options are full screen or preserve the original image proportions. The image proportions can be defined either by the size of the window for video playback or by the video size.
Moreover, you can define the TV aspect ratio - 4x3 or 16x9.

In this section you can adjust the colors of the image displayed in overlay. The settings allow changing brightness, contrast, hue, saturation and gamma. In order to control the settings and the changes, there's an additional window displaying the test image in overlay.

Here you can set the way dialogs appear, windows open/close/resize when working with a multi-display configuration.

In the Matrox MultiDesk window you can attune applications for the work with several virtual desktops.

In this section the user can define the area to be displayed full-screen on the secondary display. The user can turn on bi-linear filtering of the displayed area as well as the cursor tracing mode: do not move the area, move the area when the mouse reaches its borders, or move the area with the mouse pointer in the center of the area.

Here you can set the enlarged pixels mode (2x or 4x) on the current display. There's no need in an additional display for this. The mode is useful in various graphics editors. The only thing missing here, I guess, is an opportunity to make the mouse less sensitive appropriate to the pixels enlargement.

You can assign "hot keys" for switching on DualHead Zoom and PixelTouch modes.

In this section you can select a screen area to be saved onto the HDD or into the clipboard.

Here you can see the information on the graphics card and the display devices connected to it.

I guess the name of the section speaks for itself. From here you can update the drivers, read the documentation that is stored locally or have a look at the FAQ and ask your question on the technical support forum on the Matrox web-site.

From here you can go to the Matrox website, register or update the software.
After all this rather tedious enumeration of the Matrox PowerDesk features, I can assure you that its friendly interface and simplicity won't disappoint you. Everything is handy, simple and easy.
We tested Matrox Parhelia-512 in the following system:
We used the following software:
Benchmarks Settings were adjusted like that:
3DMark 2001 SE:
We set 32bit frame buffer; 32bit textures, 32bit (24bit) Z-buffer, D3D Hardware T&L / Pure Hardware T&L.
For High Polygon Count and Vertex Shader Speed tests - 640x480, 16bit textures, 16bit frame buffer, 16bit Z-buffer.
For Fill Rate tests - 32bit frame buffer / 32bit textures / 24bit Z-buffer and 16bit frame buffer / 16bit textures / 16bit Z-buffer.
Quake3 Arena:
32bit screen and textures color depth. Maximum graphics quality settings. Tri-linear filtering and texture compression enabled.
Serious Sam: The Second Encounter:
Quality mode: 32bit screen color depth. "Quality" graphics quality settings.
Speed mode: 32bit screen color depth. "Speed" graphics quality settings.
Unreal Tournament 2003 DEMO v.927:
Default graphics quality settings.
Codecult Codecreatures Benchmark:
Anti-Aliasing - off, sound - off, all other settings - default.
Comanche4:
Default graphics quality settings.
Let's start with the synthetic 3Dmark 2001 SE test set to check the texture rendering speed:

In case of single texture rendering, Matrox Parhelia shows nothing exceptional due to its lower GPU clock-rate - 220MHz against 250MHz in NVIDIA GeForce4 Ti4200 and 275MHz in ATI RADEON 8500.
But during multi-texturing it surpasses its rivals as Parhelia-512 has four texturing units per pipeline while other GPUs - only two.
When textures and frame buffer color depths are set to 32bit, the real texturing speed of Parhelia-512 is only 74% of the theoretical maximum in case of single texture (this maximum is equal to 880Mtexel/sec) and 72% for multi-texturing (the maximum makes 3520Mtexel/sec).
NVIDIA GeForce4 Ti4200 in 32-bit color mode shows 65% of the theoretical maximum for single texture processing and 82% for the multi-texturing. ATI RADEON 8500 notched 72% and 88%, respectively.
Let's see what provokes the biggest performance loss when switching to 32bit color: screen, textures or Z-buffer color depth increase:

In case of single texture rendering, the increase in the frame buffer depth from 16 to 32bit is responsible for the greatest performance loss. Reads and writes into the frame buffer are constantly alternating in this mode, so the result is not at all surprising.
During multi-texturing, the biggest slowdown was provoked by the textures color depth change. It suggests that texture caches of Matrox Parhelia work less efficiently in the multi-texturing mode than in the single texturing one.
It seems that the results in the Fill Rate tests were limited by the inefficient communication between the GPU and the graphics memory, although Parhelia features 256-bit memory bus. Other cards use special technologies ensuring efficient utilization of the available graphics memory bandwidth. They are LMA II in NVIDIA GeForce4 Ti4200 or HyperZ II in ATI RADEON 8500. Parhelia-512 cannot boast any. Also it owes its failure to the low efficiency of texture caches.
Let's prove this statement with the help of VillageMark, the test that displays a scene with a high Overdraw parameter:

The result seems to fully conform to the supposition that Parhelia-512 has no technologies for efficient graphics memory bandwidth utilization.
But this test uses tri-linear filtering and in the case of Matrox Parhelia it means that two texturing units process every texture. So, Parhelia is at even here with its rivals. Namely, the rendering of three textures in this test is split into two steps: the first two textures are rendered first and the third one - during the next step.
Matrox Parhelia was behind NVIDIA GeForce4 Ti4200 and ATI RADEON 8500 in all modes, but the gap becomes smaller in higher resolutions thanks to the 256bit memory bus. Overall, it's clear that Parhelia-512 cannot use up the available graphics memory bandwidth as efficiently as its competitors do.

Parhelia performs this pixel shader much faster than other cards, although the Parhelia-512 chip works at lower core frequency. Well, it could have been wrong to expect anything else from the chip that has four texturing units per pipeline and a 256bit memory bus.

In this test NVIDIA GeForce4 and Matrox Parhelia had to render a texture in two passes, and Parhelia proved the leader here.

According to the official information, Parhelia-512 features four T&L and vertex shaders units that are working in parallel. If that's true, then we can only wonder at their low efficiency: Matrox Parhelia overcame its rivals only in the test with eight light sources. Well, it may be that only one or two vertex shaders units are now enabled in Parhelia-512 for some purpose.
During the software calculations of transformation coordinates and lightning, that is by the CPU, Matrox fell far behind the rivals. Seems like the transfer of the processed vertexes to the GPU is less efficient than in NVIDIA GeForce4 Ti 4200 or ATI RADEON 8500.

The tests show that Parhelia-512 is just slightly faster when processing vertex shaders. It proves that either its vertex shaders units are not that efficient or that some of them are disabled.

Unlike its competitors, Matrox Parhelia-512 has no hardware point sprites support and emulates every sprite with two triangles. So the poor result in this test is quite natural.
Well, the synthetic tests shape up into the following picture: the Matrox Parhelia-512 GPU specs indicate high potential of the chip, but some flaws in the architecture lead to surprisingly poor performance. Let's hope that our hero will prove better in gaming tests. The 256bit memory bus must contribute to this.

Matrox Parhelia is an outsider. The "Low details" mode of the test requires no more than two textures to be rendered, so Parhelia cannot use its potential advantage of four texturing units per pipeline (if there had been more textures to be rendered, the rivals would have to spend one more GPU clock). The defeat was caused by the already mentioned fact that Parhelia-512 cannot use its memory bandwidth effectively enough.

Here Matrox Parhelia is on the losing side again. The advantage of four texturing units per pipeline is not called for here. Besides, the character animation is done here via vertex shaders, and Parhelia-512 cannot boast vertex shaders processing much faster than that implemented in NVIDIA GeForce4 Ti4200 and ATI RADEON 8500.
The twice as fast memory bus of Matrox Parhelia-512 didn't help to overcome the rivals that effectively use their 128bit memory buses.

Nothing new in this test, too. Matrox Parhelia fell behind both: NVIDIA GeForce4 Ti4200 and ATI RADEON 8500.

Faster pixel shaders processing didn't help Matrox Parhelia in this test. Although, thanks to the 256bit memory bus, its performance loss in higher resolutions is smaller than that of NVIDIA GeForce4 Ti4200 and ATI RADEON 8500.

The results of this test suggest that we deal with unfinished drivers. Matrox Parhelia does about two times slower than its competitors and the results remain about the same in any resolution.

In the "Quality" mode of Serious Sam: The Second Encounter the graphics cards deal with more detailed textures and models as well as anisotropic filtering. The results of Matrox Parhelia that can be limited by anything except the GPU performance, drop slightly while NVIDIA GeForce4 Ti4200 evidently didn't like the enabled anisotropic filtering.

The results in Quake3 Arena are mainly limited by the texturing speed and memory bus bandwidth.
In this test, Parhelia-512 couldn't use the advantage of its four texturing units per pipeline again as the test was run with enabled tri-linear filtering. In this mode, the texturing units of Parhelia get combined in pairs and the maximum number of textures rendered per clock drops down to two. The rivals of Matrox Parhelia can also render two textures per clock at most.
NVIDIA GeForce4 Ti4200 and ATI RADEON 8500 feature architectural solutions that increase the efficiency of the available memory bus bandwidth, which allowed them to surpass Parhelia-512 with its broad but ineffectively used 256bit memory bus.

This test uses pixel and vertex shaders and loads the graphics cards quite heavily. Here Matrox Parhelia gains its small revenge thanks to the 256bit memory bus and high pixel and vertex shaders processing speed.
Well, although the Matrox' card could reach the level of ATI RADEON 8500 128MB, NVIDIA GeForce4 Ti4200 is still ahead.

The insufficient CPU performance influences the results of this test a lot: all the cards show simply unacceptable gaming performance here.
However, even under this grave limiting impact of the CPU, Matrox Parhelia fell far behind NVIDIA GeForce4 Ti4200 and ATI RADEON 8500.

The new Matrox chip performed rather poorly in Unreal Tournament Demo, too. Although, in higher resolutions its performance dropped slower than that of the rivals, so that our hero managed to catch up with ATI RADEON 8500.
Full-screen Anti-Aliasing and anisotropic texture filtering are functions that don't need the application to involve any additional computational resources. All the extra work is performed by the GPU, so you can increase the image quality in games without loading the CPU that much.
Let's see what Matrox Parhelia has got here.
Matrox Parhelia supports anisotropic filtering with the maximum level of anisotropy set to 2. It provides much lower texture precision compared to NVIDIA GeForce4 Ti4600 and ATI RADEON 8500 that support up to 8 and 16 anisotropy level, respectively. Nevertheless, the advantage of anisotropic filtering over bi-linear or tri-linear filtering in Matrox Parhelia can be seen with the naked eye :).
Here's a scene from Quake3 Arena:

The scene from Quake3 Arena with different texture filtering techniques applied. The fragments of the screenshot are on the left, on the right are the same fragments with colored MIP-levels:
![]() Bi-linear filtering | ![]() Tri-linear filtering | |
![]() Anisotropic filtering | ![]() Anisotropic + tri-linear filtering |
On the screenshots with anisotropic filtering we see that forcing anisotropic filtering also activates tri-linear filtering regardless of what filtering type is set by the application. Here tri-linear filtering was turned on as soon as we forced anisotropic filtering, although the settings indicate that we had bi-linear texture filtering set in Quake3 Arena.
This means that forced anisotropic filtering makes Matrox Parhelia work in the most unfavorable mode. All four texturing units are processing a single texture. Two of them take out two bi-linear samples from one MIP-level of the texture, and the other two take out samples from another MIP-level.
Let's evaluate the results and performance losses in case of forced anisotropic texture filtering in Quake3 Arena:


Now the same in Unreal Tournament 2003 Demo:


The use of forced anisotropic filtering by Matrox Parhelia leads to smaller performance drop compared to NVIDIA GeForce4 Ti4200, but higher performance drop compared to ATI RADEON 8500. By the way, ATI RADEON 8500 cannot force anisotropic filtering in Direct3D with Catalyst 2.03 driver. The performance tests as well as the picture in games indicate it.
So, we could be really happy about the low performance drop by Matrox Parhelia in case of enabled anisotropic filtering. But in these tests all graphics cards worked at different maximum anisotropy level, so this comparison makes sense only if we want to evaluate the performance drop at maximum texture filtering quality. If we set the same maximum anisotropy level for all graphics cards, the picture will be completely different:


Now everything's in its right place. Anisotropic filtering provokes about the same performance drop by both Matrox Parhelia and NVIDIA GeForce4 Ti4200. ATI RADEON 8500 chip uses a very fast anisotropic filtering algorithm, a kind of RIP-mapping, and quite naturally is ahead of all.
Parhelia-512 chip supports the ordinary 2x2 supersampling as well as a new patented Anti-Aliasing algorithm, FAA-16x, which has been discussed in the first part of the review.
Let's check supersampling first.
As is known, supersampling means processing an increased number of subpixels for pixels located in any part of the screen for the sake of higher texture filtering quality. It works like anisotropic filtering inside the polygons. Let's consider a scene from Serious Sam: The Second Encounter with various combinations of supersampling, tri-linear and anisotropic filtering:
![]() Tri-linear filtering | ![]() Anisotropic filtering | |
![]() Tri-linear filtering + supersampling | ![]() Anisotropic filtering + supersampling |
Well, supersampling by Matrox Parhelia didn't reveal anything unexpected.
We're more interested in the FAA-16x Anti-Aliasing method. Matrox claims it can provide unrivaled quality of the "jaggies" smoothing at the edges of polygons without significant performance loss.
The results of the tests both confirm and deny the Matrox' words. But, let's keep to the schedule. Let's watch the differences in a scene from WarCraft III with activated supersampling and FAA-16x:
![]() | ||||
![]() | ![]() | ![]() | ![]() | ![]() |
| Matrox Parhelia: WarCraft III with FSAA 4x | ||||
![]() | ||||
![]() | ![]() | ![]() | ![]() | ![]() |
| Matrox Parhelia: WarCraft III with FAA-16x | ||||
So, the screenshots suggest the following:
We continue. One more scene from WarCraft III:
![]() | ||||
![]() | ![]() | ![]() | ![]() | ![]() |
| Matrox Parhelia: WarCraft III with FSAA 4x | ||||
![]() | ||||
![]() | ![]() | ![]() | ![]() | ![]() |
| Matrox Parhelia: WarCraft III with FAA-16x | ||||
Here we see that FAA-16x, unlike supersampling, doesn't make the interface elements "blurred" and that's right.
But in the fourth and the fifth fragments we can clearly see artifacts at the edges of polygons forming the landscape. Seems like we deal with the "loss" of some pixel fragments, that is, FAA-16x works downright incorrectly on some edges.
One more "wonderful" feature of FAA-16x is that it doesn't process the edges of polygons when transparent textures are applies to them. Here's a collection of screenshots from Quake3 Arena that confirm this unpleasant quality of FAA-16x:
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
| Matrox Parhelia: FAA-16x in Quake3 Arena | |||
The screenshots also suggest that FAA-16x works incorrectly with fog, displaying a wireframe model of the skeleton that's peacefully sitting in the corner.
If you're not tired of the enumeration of all the "delights" of FAA-16x, just look at one more screenshot. It's a scene from Serious Sam: The Second Encounter and two fragments of this scene. One - with 2x2 supersampling, the other - with FAA-16x:
| Serious Sam: The Second Encounter | |
![]() | |
![]() | ![]() |
| Matrox Parhelia: FAA-16x | Matrox Parhelia: FSAA 4x |
The screenshots serve to confirm one more evident conclusion: as FAA-16x only processes pixels that lie on the polygon edges, the lines of intersections of polygons wont' be anti-aliased.
In the scene above we see that the lines where the logs touch the water remain "jagged" despite FAA-16x and get smoothed once FSAA 4x is applied.
So, FAA-16x does smooth the "jaggies" on the polygon edges excellently.
But only where it does work. As we've seen not all of the edges that clearly require smoothing are indeed smoothed. Moreover, FAA-16x doesn't work at all at the lines of intersection of polygons and with transparent textures. Moreover, the fog effects in games lead to artifacts and make models wireframe. In some cases, there appear artifacts that look like "loss" or incorrect combination of the processed pixel fragments.
On the whole, I've got an ambiguous feeling about Fragment Anti-Aliasing implemented in Matrox Parhelia. Yes, it's really very high-quality, but provokes too many criticisms on the way. We're left to hope that future versions of the drivers will be able to improve the situation.
Let's see the performance drop once we force FAA-16x and FSAA 4x in Quake3 Arena:


Like supersampling should do, FSAA 4x "kills" Matrox Parhelia's performance, but in higher resolutions, the performance drop is not so big, as in case of enabled multisampling by NVIDIA GeForce4 Ti4200. Seems like 256bit memory bus compensates for it.
Forced FAA-16x leads to lowest performance loss and here Matrox' claims are fully confirmed: Fragment Anti-Aliasing is the most "intellectual" of all the Anti-Aliasing methods available and is accompanied by the lowest performance drop.
The second example is from Unreal Tournament 2003 Demo:


We see the same picture: FSAA 4x by Matrox Parhelia provides absolutely unacceptable gaming performance while FAA-16x makes Matrox the leader.
The last thing to check is the performance of the new card from Matrox and its rivals with forced both anisotropic filtering and Anti-Aliasing. I didn't turn on FSAA 4x by Matrox Parhelia on purpose, because we all know very well what the outcome will be in this case. So, the card was tested with forced FAA-16x:




Very low performance loss in case of activated FAA-16x conceals rather average anisotropic filtering of Matrox Parhelia and allows it to become the No.1.
Matrox Parhelia supports two- or three-display configurations. In the three-display TripleHead mode only analog displays are supported while in the DualHead mode both analog and digital displays can be used. Moreover, a TV-set can be one of the display devices in the latter mode.
Let's discuss the work of Matrox Parhelia in different variations of the DualHead mode when a TV-set is involved:
![]() DualHead Clone | ![]() DualHead Zoom | |
![]() DualHead DVDMax | ![]() DualHead Multi-Display |
DualHead DVDMax and DualHead Zoom are the most interesting modes for work with a TV-set from the practical point of view. The first case is good for watching movies, the second - for slide shows, demonstration of schemes, diagrams and so on. Other modes, DualHead Clone and DualHead Multi-Display, are quite useless for a TV-set. Although Matrox Parhelia provides up to 1600x1200 resolution on the TV, it just cannot display more than it actually can…:)
By the way, the quality of TV-Out in Matrox Parhelia may be one of the best of all available graphics cards. The first pleasing thing is the capability to adjust the position and size of the image on the TV screen. Well, the image precision and colors give no cause for concern, either. You can see below two snapshots of the TV screen in DualHead DVDMax and DualHead Clone modes. Output standard - PAL, all other TV-Out settings are default.


The most interesting multi-display configuration Matrox Parhelia offers is TripleHead. Its use for "working" purposes is quite reasonable and there is nothing surprising about it. However, the Surround Gaming mode, the possibility to play on three displays at a time, struck me as most interesting and exciting.
The Matrox Parhelia package includes a CD where you can find the Reef demonstration program. It shows the work of pixel and vertex shaders of Parhelia-512 and also supports Surround Gaming. In order to enjoy a look at the underwater life, I had to use an additional table, the three displays didn't fit onto the table with the testbed.
The snapshots cannot deliver all the beauty of the picture, but I guess you can get at least a general impression of Reef Demo:


But that's a demo program from Matrox. No wonder it works excellently with three displays. What about games then?
Of all the games I had at hand I selected Unreal Tournament 2003 Demo to take part in my experiment. Here is what we had to do:
Step One. Starting Unreal Tournament 2003 Demo. The game doesn't "see" the three displays and outputs the picture only onto the central one.


Step Two. Changing resolution in the ut2.ini file: FullScreenViewporxtX=2400, FullScreenViewporxtY=600. Unreal Tournament starts "seeing" all displays, but the picture is stretched by three times horizontally in the game menu as well as in the game itself.


Step Three. Turning on extended field of vision (FOV) in ut2.ini: UseAnisotropicFOV=True, MultFOVX=0.333333. The game finally acquired true panoramic view.


Well, I am the only one to blame for the too much stretched HUD elements :) If I only followed the instructions on Surround Gaming adjustment correctly (these will be discussed below), the entire picture in Unreal Tournament could have been ideal.
So, Surround Gaming support is an interesting feature of Matrox Parhelia, but for it to work correctly, the application should be able to set irregular resolution. Otherwise, even if the game outputs the picture onto the three displays, the picture would be just out-stretched.
However, Surround Gaming doesn't only allow increasing the horizontal view in the games. You can output some completely different picture onto the additional displays, such as land map, technology tree and current research in RTS, or mirror view and stationary camera view in auto simulators and so on.
In fact, there is a handful of games, which support these manipulations with Surround Gaming settings. The list includes about 30 of them, which are far not in the last positions in the popularity ratings. You can find more info about Surround Gaming adjustment for each particular game on Matrox' web-site on the page called Surround Gaming Enhanced Games.
The 2D image quality provided by Matrox Parhelia can fairly be called ideal. The company's claims about high quality fifth-order output filters, improvements of various surge characteristics and enhanced color representation are fully confirmed. Even with DVI-I-to-D-SUB adapters, the image quality was pleasing to the eye. We tested the card with Hitachi CM776ET, ViewSonic P775, PT810, PT813 and Sony GDM-F520 displays and found no "blurring" in resolutions up to 1600x1200.
Well, Matrox Parhelia left rather ambiguous feelings.
First, its performance turns to be much lower than we had expected from the specs. The developers put their stake on the 256bit memory controller and missed. Matrox Parhelia features no technologies for efficient utilization of the available memory bandwidth and thus gets simply ruined by NVIDIA GeForce4 Ti4200 and ATI RADEON 8500, which have a twice as narrow memory bus but boast the necessary technologies, LMA II and HyperZ II. The caching of textures, vertexes, pixels, etc. also seems to be not very efficient by Parhelia-512, especially compared to its competitors. ATI and NVIDIA are much more experienced in developing high-performance gaming graphics cards and their LMA and HyperZ architectures have undergone many improvements with the development of new chips.
The huge theoretical texturing speed of Parhelia-512, which features four pixel pipelines with four texturing units in each, finds no actual application in reality as the texturing units of the chip cannot perform tri-linear filtering and have to get combined in pairs to perform it.
The unique Anti-Aliasing method, Fragment Anti-Aliasing or FAA-16x, leads to minimal performance drop and provides excellent smoothing of polygon edges. It really surpasses supersampling and multisampling from ATI and NVIDIA, but right now FAA-16x provokes too much criticism so it doesn't make much sense to enable it. 2x2 supersampling supported by Parhelia-512 works under any conditions, but leads to significant performance losses so the resolutions over 800x600 are hardly suitable for gaming.
The support of vertex shaders 2.0, displacement maps and the patented adaptive tessellation method look impressive, but these technologies are not used in present-day games while in the nearest future they'll become standard for DirectX9-compatible cards. So, these features of Matrox Parhelia haven't yet been implemented as well.
I also have some comments about the driver optimization quality, which leaves much to be desired. However, the release of the new driver versions should cure the problem and maybe even increase the performance of the new Matrox solution.
But all the things said above are nothing but negative impressions of a guy who is looking for a gaming graphics card.
If you think of getting Matrox Parhelia for work, it is a real bargain, believe me.
I was very excited about the rich opportunities offered by multi-monitor configurations support, namely by DualHead and TripleHead, dialogs and windows management, the ability to create and manage several virtual desktops.
The enhanced color representation mode support, GigaColor, may be useful for designers and all people who work with full-color images.
Hardware Glyph Anti-Aliasing, improves fonts readability and allows to adjust the subjective font "boldness".
High-quality TV-Out allowing to adjust the position and size of the image on the TV screen makes TV a perfect display for watching movies.
Well, and the quality of image output onto the display provided by Matrox Parhelia can be regarded as an absolute reference
So, we may conclude: Matrox Parhelia is a graphics card for work, not for games. Seems like the 3D features of the card are just an obligatory trait of the current fashion. Moreover, Matrox itself is moving the focus more towards business application of Parhelia rather than gaming. The company releases drivers optimized for AutoCad, 3D Studio MAX, SolidWorks - these software suites are not intended for gaming purposes. :).
So, if you need a graphics card for work, Matrox Parhelia is an excellent solution to be installed into the AGP slot of your computer. But if you want a card to play games, you'd better turn to products from ATI or NVIDIA. They're not only faster than Matrox Parhelia, but also cost less.