You are here: Other topics > Config > Graphics Performance
GEOVIA Surpac

Graphics performance

Function Name:

  • HOOPS BENCH TEST

There are a number of considerations in getting the best graphics performance from your Surpac installation. Graphics performance is very important for the simple reason that the better the software performs, the more useable it is. Rotating your solids models/block models/string data for visualisation purposes, using the sectioning modes to view your data and all kinds of graphics-intensive processing are part of the default usage of Surpac.

There are a large number of variables that affect your graphics performance. They include hardware, lighting, settings, shading and a few others. This page will address the most common of these.

Hardware to get

Nearly all modern graphics cards have the ability to give brilliant performance with Surpac. There is no great need to spend several thousand dollars on the top of the line graphics card, good performance can be achieved with a cheaper card, and very good performance can be achieved with a medium level graphics card.

Having said that, it is always worth buying a good name-brand card (the top two at the moment in consumer cards are Radeon and nVidia) as these will often provide better and more consistent performance than other cards. Even the low end versions of these brands will produce good results with Surpac.

It is always worth checking the list of cards supported by HOOPS (Surpac's underlying graphics engine) to make sure they work correctly and well before purchasing a card, but if you stay with the name brand cards, and buy medium quality, you should have no problems. The list of supported graphics cards can be found here.

An example at the moment (May 2004) is an ATI Radeon 9800 Pro card retails for about $250 AUD ($150 US) and it can give full smooth rotational animation for a solid of 1 million triangles. This is a very large data set and the graphics card handled it without flinching. When compared to the price of a computer and especially the price of software, it is well worth spending a very little extra money to get a good quality graphics card.

It's worth keeping in mind that all cards in this range are really designed with the game market in mind, which is probably more graphically intensive than Surpac will ever be, and so everything other than the very largest data sets will have no problems if the correct settings are used.

Drivers

Graphics card manufacturers are always refining the software that interacts with their hardware. This makes the graphics cards perform faster and more reliably. Only update your drivers if they are not working correctly.

However, if you are getting strange graphics effects, slow performance or problems running in graphics modes (like OpenGL) that your card should handle, updating your graphics drivers may well be worth investigating.

This is especially true when you have purchased a new machine. The graphics drivers that come bundled with windows are often old, slow and very unreliable. It is always recommended that you update your graphics drivers to the latest versions when you purchase a new machine. Graphics drivers are available from the web site of your graphics card manufacturer.

Settings

The underlying principle of graphics performance is "Do anything you can in hardware". Hardware is much faster than software, and hardware (graphics card) manufacturers spend vast amounts of time and money making their algorithms the best there is. Therefore HOOPS (and therefore Surpac) provide a lot of settings to allow you to shift the graphics rendering from software to hardware.

HOOPS has a "safe mode" called the MSW driver, which has been the Surpac default for a number of years. While this is almost guaranteed to work on all graphics cards, it does all the work in software, and is really quite slow. A much better option is to use OpenGL, or the new DirectX modes. These are hardware specific modes.

OpenGL has been around for a number of years and is the standard for graphics rendering. It is fast, accurate and nearly all graphics cards implement it in Hardware. Combine this with the features of hidden surface removal (Hardware Z-Buffer) and you have very good graphics performance.

DirectX is a newer standard which promises to be faster than OpenGL, but at the moment it is still not living up to expectations. See future releases for a faster directX method.

Check the Settings page for full information on all the graphics settings available for use. The best graphics performance can be achieved by using the following settings :

  • OpenGL
  • Hardware Z-Buffer
  • Double Buffering
  • Display Lists
  • Backface Culling
  • Gouraud Shading
  • Directional Lights

Lighting

Lights are an important part of any scene. Lights give the scene it's shadows and therefore it depth and detail. However, some lights can affect the performance more than others, and some graphics cards do not handle lights as well as others. There are two types of lights in Surpac - directional lights and spot lights. Directional lights (like the Sun) come from an infinite distance in a given direction and light everything accordingly. Spot lights, as the name suggests are lights that follow the camera around a scene, like a flashlight. Whatever you are looking at gets illuminated.

Because of their nature, as you rotate an image, the lighting calculations for a spot light have to be re-performed (because the light direction has changed). This obviously takes some time, and so a spot light is always going to be slower than a directional light. How much slower depends on your hardware. However, the lighting achieved may be better for your scene. You have to determine if the performance trade off is worth it.

You can have 1 spot light, and up to 3 directional lights all on at once. Some graphics cards will handle this without flinching, others may have problems. One card we tested on gave wonderful performance with a single light, but when the second light was added to the scene the graphics performance halved. The reason is that when the hardware reports it can no longer handle the number of lights, HOOPS goes back to software to perform the calculations, and performance suffers.

If you notice this effect, try taking some of the lights back out of your scene.

WARNING - Using a spot light and Phong shading (see Lighting or below for more on Phong shading) you will have very poor performance, as Phong shading has a massive amount of calculation to perform each time the light source is moved. Phong shading should only be used with directional lights.

Shading

Shading is also very important to the visualisation of a scene. There are three methods of shading any surface in Surpac: None (flat), Gouraud and Phong. Flat shading simply works out the colour of a triangle based on it's face direction, Gouraud smooths the edges of triangles and Phong smooths the edges much more with a very complicated algorithm.

While flat shading is the least computationally expensive, no games actually use this style of shading, and so graphics card manufacturers seem to have left out the optimisation of this shading type. Therefore, often the other two types of shading (notably Gouraud) will perform better than flat shading on most graphics cards. Gouraud shading is the perfect trade between nice smooth graphics and performance, and should be used as the default if your hardware supports it.

Finding the best settings

There are two ways to find the best hardware settings for your machine. Firstly is a new setting on the Settings form called Detect best settings on next startup which will do exactly that. Next time you start the software, Surpac will make an effort to determine what hardware you have available to use. It will set the best setting it can, and if available, the list above will all be set. This should result in instantly the best settings for your machine.

You can still configure the settings manually if your performance is not acceptable.

The other way is to manually configure the settings, testing the effect of each setting using a new function. The HOOPS BENCH TEST function will take whatever data is displayed in Graphics and rotate it though 360 degrees. The amount of time it takes to do that will determine the performance of your graphics settings. The end result will be a number of frames per second. Anything over 20 is basically seamless animation. Modern graphics cards and small-medium data sets can get up to 500.

So by simply changing the settings (some settings will require you to erase and redraw the objects, or changing the driver will require you to exit and restart the software) and then running this function repeatedly will give you an idea of the best graphics settings and performance available to you.

If you graphics card handles openGL and hardware z-buffer, there is really no data that it is likely to have a problem with.