Any computer intended for CAE work will have a graphics card that is designed
for high performance 3d graphics. Briefly this means that:
-
Most intensive graphics calculations are now performed on the Graphics
Processing Unit (GPU) which has dedicated hardware for this purpose.
-
Increasingly the data used to generate images can also be stored on
the graphics card, since this makes access to it faster.
D3PLOT exploits these capabilities, however not all hardware is the same,
and there are sometimes multiple ways of performing an operation with
no obvious "best" solution. The default graphics tuning options
are set up for the typical CAE machine, but if your machine is not performing
well then it may be worth trying some of the suggestions below in order
to try to improve matters.
When you first use the
Tune
button you
will see this panel with all boxes unticked.
This means that none of the special hardware accelerations available
in V10.0 are switched on, and graphics performance will be similar to
that in V9.4. You will have to
tune D3PLOT manually
to obtain the best performance.
If some or all buttons are greyed out it means that your hardware does
not support the feature in question, and you will not be able to use them.
Therefore re-tuning is always advised if you move to a new machine, or
upgrade your hardware; and it may also be worthwhile if you have upgraded
your graphics driver software.
Given that D3PLOT can determine automatically the features available
on the graphics card and supported by the graphics drivers why can it
not also set these options automatically?
The unfortunate answer is that what a graphics hardware/software combination
says
it will do, and what it will
actually
do, are not always the same. Bitter experience has taught us that on some
machines, typically slighter older ones and/or those with lower performance,
blithely turning on all possible acceleration features can lead to corrupted
images and/or crashes.
Therefore we prefer to default to something that we know will work on
all machines, and let users determine what works best on their hardware
using the process below.
|
Assuming that your machine doesn't have all the tuning buttons greyed
out, which means that it is too old to benefit, please follow the steps
below to tune its performance.
|
|
Step 1:
|
Read in a sizeable model with some state data so that you can animate
it. You just need one model in one window.
The model should be large enough to give animation rates well below the
maximum your machine can support. Since the typical modern LCD display
is limited to a 60Hz refresh rate there is little point in aiming for
animation rates faster than 60 frames per second (fps), and you should
aim for a model that is giving about 50 fps or slower, that is an elapsed
time of 20ms/frame or longer.
Set the model animating in shaded mode and let it cycle through at least
one pass of the full animation so that it has read in all data and settled
down to its full animation rate.
Standard shaded settings should be used: perspective off, a single light
source, flat shading, free-edge overlay and no "extra" graphics
such as labels.
|
|
Step 2:
|
Use the
Tune
button to invoke the tuning
panel, and turn on the following two options:
|
Show timing
reports the time taken
for each frame in the dialogue box. Three times are given:
-
CPU time required to generate this frame
-
Elapsed (wall-clock) time required to render this frame
-
A rolling average over the last 30 frames of "elapsed time
to render frame"
|
|
No delay
turns off the default
setting in D3PLOT that limits the maximum frame rate to about 60
fps.
This means that there are no artificial delays in the timing process,
and the steps below will be measuring the true performance of your
machine.
|
|
Observe and note the rolling average time per frame in the dialogue
box. This should be a reasonably steady figure.
|
|
Don't be surprised if the "
Av
"
figure is slightly different to both "
cpu
"
and "
elapsed
" values. Timers
on computers tend to have a limited resolution, for example Windows
machines run at a "clock tick" of 60Hz, and only resolve
time intervals down to roughly 16mS as a consequence. This is why
the rolling average frame rate is required in order to smooth out
variations in individual frame timings.
|
|
|
Step 3:
|
Turn on
Use Vertex Arrays
|
This will make no difference to the current animation speed, but
it is a necessary precursor to the steps below.
|
|
|
Step 4:
|
If the
Use Shaders
button is greyed out
then please skip to step 5 below, otherwise:
|
Turn on
Use Shaders.
You will hopefully see an immediate and significant reduction in
the time taken to render frames, but otherwise the appearance of
the image should not change. If this is the case leave this option
selected and proceed to step 5.
On some machines the model may in fact animate more slowly with
this setting. In this case it is worth persevering with step 5 below
to see if adding the further settings does ultimately give better
speed.
|
|
If the image goes "wrong" in any way, and we have observed
everything from losing colours, through a totally corrupt image
to an outright crash, don't despair. The first thing to do in this
situation is to try updating the machine's graphics driver. This
will require you to determine the type of card on the machine, then
to visit the card manufacturer's website, download the appropriate
driver and install it. If you are not sure how to do this please contact Oasys Ltd Support for help.
In about 90% of cases this will solve the problem, but if it doesn't
then you will not be able to use hardware shaders and you need to
turn this option off and proceed to step 5.
|
|
|
Step 5:
|
If the
Use VBOs for Verts
and
for
Coords
buttons are not available available please skip to step
6 below, otherwise:
|
Firstly turn on the (Use VBOs...)
for
Coords
button, leaving the
for Verts
one unselected for now.
You should hopefully see a further significant increase in speed,
but in all other respects the image should look as before. If this
is the case then...
|
|
Turn on
Use VBOs for Verts
.
The effect of this varies by hardware type and can range from a
small but significant increase in speed, through not much change
to a slight slowing down. If the effect is neutral or positive then
it is worth leaving it selected, but otherwise it is better to turn
it off.
|
|
As above, if the image goes "wrong" in any
way with either of these settings then the first thing to do is to
update the graphics driver. If this does not help, and only
Use
VBOs for Verts
is causing problems, then you can leave it turned
off without sacrificing much performance.
|
|
|
Step 6:
|
If all the steps above were successful then you have finished the D3PLOT
tuning process. Hopefully you will have achieved a significant speed increase
and the final step is to save these tuning settings in your oa_pref file
for future sessions.
Save Tuning Settings
will do this automatically,
saving the relevant entries to your "home" oa_pref file.
If you want to copy these settings to the same file for other users the
preferences in question are:
d3plot*gtune_varray
d3plot*gtune_shader
d3plot*gtune_vbo_verts
d3plot*gtune_vbo_coords
If things went wrong above, or some options are not available on your
machine, then you may still benefit from using the settings that are available
and seem to work. If you need further advice please contact Oasys Ltd Support for
help.
|
|
This section gives instructions for updating graphics cards on Windows
and Linux machines. It covers the most common configurations, but if your
machine is different then it is possible that we may still be able to
help you, please contact us for advice.
|
The vast majority of graphics-related support requests that
we receive are solved by upgrading the graphics driver.
Our general advice is as follows:
-
Assuming that your graphics card is reasonably modern (typically
a machine less than 5 years old) you should check that you have
the most recent graphics driver, and update it if you haven't.
Manufacturer's websites all have pages that allow you to enter
details of your machine and operating system, and they will then
recommend the best driver.
For NVidia cards see
http://www.nvidia.com
and use the "drivers" tab
For AMD (ATI) cards see
https://www.amd.com/en/support
For Intel cards see
https://downloadcenter.intel.com/product/80939/Graphics-Drivers
You can also visit the computer manufacturer's website to find
the driver they recommend. However it is our experience that the
computer manufacturer's recommendation is usually out of date,
and that you are better off using what the graphics card manufacturer
recommends. They made the hardware, they write the drivers and
they generally know best!
-
For an older machine, say 5 or more years old, you will probably
find that the manufacturer will recommend their latest driver,
but this may not perform as well with an older card. Graphics
drivers tend to be optimised for recent hardware, and old hardware
may actually run more slowly - albeit reliably - on newer drivers.
In this situation it is worth investigating when your graphics
card first appeared, then visiting the manuafacturer's driver
archive and trying to find a version that is about 1 to 2 years
newer than the card. This should have the bugs ironed out, but
should not have suffered too much from changes aimed at newer
hardware that degrade its performance.
-
It is almost universally the case that the "out of the
box" graphics driver which comes with a new machine will
be out of date. If your machine comes with a very recent latest
and greatest graphics card then the driver will be an early one
and will probably be bug-ridden. By the time the machine reaches
your desk things should have moved on a bit, and it is worth checking
for a newer version - it can save a lot of grief.
This is usually also the case with corporate builds of Windows
where your organisation gets a customised version of the Windows
operating system that is blindly loaded onto all machines by the
computer manufacturer. Such builds are usually even more out of
date than the "out of the box" ones above and quite
often contain poorly performing generic graphics drivers rather
than the specific ones that high performance GPUs require.
|
|
|
The following instructions should enable you to determine the type of
graphics card you have installed and the revision number of its driver.
|
-
Right click anywhere on the desktop background, and select
Display Settings
-
Near the bottom of that panel select
Advanced
display settings
. This will give you a summary.
-
Select
Display Adapter properties
-
Select
Properties
within this section,
followed by the
Driver
tab
-
This will list the driver date and version
Alternatively:
-
Launch the Control Panel and search for "
Device
Manager
"
-
Click on that, expand the tree and then expand the
Display
Adapters
branch
-
Right click on your graphics card's row and select
Properties
-
Select the
Driver
tab. This will
list the driver date and version
Alternatively:
-
Your graphics card manufacturer may well have an icon in the icons
region at the bottom right of the taskbar, or a right click anywhere
on the desktop background may show a vendor-specific entry in the popup
menu.
|
-
Right click anywhere on the desktop background, and select
Screen Resolution
-
Select
Advanced settings
-
This takes you to the
Adapter
window,
listing card name and manufacturer
-
Select
Properties
within this section,
followed by the
Driver
tab
-
This will list the driver date and version
|
-
type
glxinfo | grep -i string
which
should give the card manufacturer and name
For example on a machine with an ATI card this produces:
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI FirePro V7750 (FireGL)
OpenGL version string: 3.3.10225 Compatibility Profile Context FireGL
And on a machine with an NVidia card this produces:
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro FX 3800/PCI/SSE2
OpenGL version string: 3.3.0 NVIDIA 256.35
-
Knowing the make of card you can then look in file /var/log/Xorg.0.log
for more details. For example in the 2nd example above
grep -i nvidia /var/log/Xorg.0.log | grep -i driver
gives:
(II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
(II) NVIDIA dlloader X Driver 256.35 Wed Jun 16 18:45:02 PDT 2010
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
So this 2nd machine has an NVidia Quadro FX3800 card using driver release
256.35 dated June 16th 2010
|
-
Right click anywhere on desktop background, and select
NVIDIA
Control Panel:
Select
Manage 3D settings
from
the tree on the left hand side. The example below is from a Quadro FX
card on a Windows 7 machine, but others should be very similar.
|
-
You must then decide whether you want to configure the graphics driver
for all applications on your machine or just for a limited range of
executables.
Our recommendation is to configure for all applications, using
Global
settings
as shown above. The configuration used should work well
for any CAE package - and certainly better than NVidia's default "
3D
App -Default Global Settings
", since these are tuned for
benchmark tests and not real life applications.
If you want to apply settings only to D3PLOT you will need to swap to
the Program Settings tab, add D3PLOT to the list, and then proceed as
below.
-
If your driver is recent (early 2011 onwards) you will find an
Oasys
Ltd. LS-DYNA environment
setting as shown above, and you should
select that. If your driver is older we would recommend using
Dassault
Systemes CATIA - compatible
.
Either of these settings turns off attempts in the driver to cache coordinate
data, and will result in smooth animation. Using the default settings
may lead to jerky animation, or long pauses.
|
No configuration is necessary.