Menu

Performance_Tips

Shane Saxon

[Home] - [Architecture] - [Development_Strategy] - hosted at openANTz.com

ANTz - minimize latency, while maximizing bandwidth and processing power.

Also see [Performance] for general performance information and benchmarks.

last updated 2012-07-17


Performance Tips:
Practical dataset size is dependent on the combination of visual parameters chosen and system hardware. ANTz is mostly GPU bound, followed by CPU and IO. The load balance is effected by parameters such as data streaming, texture mapping and geometric complexity.

Content:
The largest factor in frames per second (FPS) performance is the number of nodes in the scene. However, not all nodes are created equal and resources may be either CPU and/or GPU bound.

GPU Data Resources - Node parameters and scene composition substantially effect performance. Also, the type of GPU greatly effects speed. Typically GPU RAM is not a problem, but does restrict the total number of textures. Considerations for GPU related performance:

  • Texture mapped objects require about 50% more resources.
  • Wireframes require about 50-100% more resources, (i know this seems backwards.)
  • Pins, Spheres and Toroid geometry require 100-200% more time then other objects.
  • Displaying Text Tags takes a huge amount of resources, (will get better.)
  • Completely filling the screen is more intensive than a sparsely populated scene.
  • Turning Transparency OFF will usually speed things up.

On most mid-grade to high-end graphics cards the 'Fill Rate' is significantly high enough that resolution (up to HD,) does not effect frame rate very much. However, on low-end integrated graphics chips (not actually GPUs,) the resolution IS a significant factor. In general, textures are more resolution intensive then plain color geometry. Geometry (polygon count) is typically NOT very resolution dependent, but rather the total amount of screen space filled.

CPU Data Resources - At the CPU level nodes are pretty much all the same and data parameters do not significantly effect CPU usage. So it is only the total number of nodes that makes a difference.

IO Resources - All nodes are piped from the main RAM through the CPU to the GPU every frame. CPU clock rate, memory config and the PCIe chipset are all important. Streaming network data [IO_Channels] over UDP and file IO can also use considerable internal and external bandwidth.


Hardware

GPU - Generally the GPU is more important then the CPU. GPU chip model and clock rate are the primary factors. GPU memory only effects the total number of textures that can be loaded and does not speed things up. For the best cost performance use gaming cards from either AMD ATI Radeon series or nVidia GeForce cards. Stereoscopic 3D with OpenGL is supported only with nVidia Quadro or ATI FirePro series.

*Stereo 3D with OpenGL is only supported using nVidia Quadro or ATI FirePro series cards. Do not get confused with consumer-grade 3D claims based on proprietary DirectX technology. ANTz uses OpenGL! You can get a laptop with a mobile FirePro or Quadro GPU from HP, also see Quadro NVS for details.

*Developers can get a couple of Quadro cards a year from nVidia at a significant discount.

IO - Most importantly is that the GPU is in a true PCIe 16X gen 3 slot. Motherboards are probably the most over-looked aspect of a systems performance. ANTz uses significant bus and memory resources and benefits from a good MB. Recommended MB manufactures include ASUS, SuperMicro, TYAN and HP.

CPU - Currently ANTz does NOT significantly benefit from multiple cores. Clock rate is what counts, higher GHz equals more objects! In terms of CPU types, we typically test on Intel chips and hence they are expected to be more stable. However, AMD is good and dollar per dollar is often faster. Note that AMD chips run faster at lower clock rates then Intel. To compare AMD and Intel chips use gaming benchmarks from places such as tom's hardware.

RAM - You want the RAM to match the full performance of the CPU. In general, extra RAM consumes more power and heat, but does NOT help nor hurt performance. ANTz uses surprisingly little RAM. However, for multi-core systems to run at full clock rate the CPU requires a minimum number of RAM modules. For example the SuperMicro X8DAH+-F with dual Xeon CPUs requires a minimum of 12 sticks of DD3 RAM to operate at full clock rate.

Cooling & Power - ANTz tends to burn through all resources and this heats things up a lot. Important to make sure you have a good power supply and extra cooling. This insures the reliability and longevity of your hardware. Note that the high-end GPU cards require at least a 500W power supply but depending on CPU, RAM and GPU config you may need 1000W or more.


InfiniteZ [zSpace] specific

Dev System:
- 3.4GHz i7, 12GB 3X4GB, nVidia Quadro 4000
- zSpace 24" 120Hz Stereo 3D, VR head and stylus tracking (ZSP-01-00-24)

In general expect about 1/3 the performance in VR mode as in comparison to regular non-Stereo 3D mode. The scene is rendered in Stereo 3D, this requires twice as much ANTz rendering time.

The IZ uses about a 1/3 of GPU for the head and stylus visual tracking algorithm. Note that jitter in the IZ effects GPU resources, (variability in resources per cycle effects timing.) This can cause visual hiccups when not running at 120HZ with each eye getting 60FPS.

So ANTz requires twice as much render time and the IZ needs about a third of the GPU resources. If the ANTz system runs with 9,000 nodes in non-Stereo 3D at 30FPS, then it will render 3,000 nodes at 30FPS in VR mode.

Normally we recommend turning on Anti-Aliasing (4X) using the video card control panel settings, (also check 'Override Software Settings'.) This greatly improves the user experience and helps reduce vertigo/fatigue. However, be aware this can cause a bug with picking objects. See Ticket 49.

IZ SDK 2.6.1
- increases the tracking volume, especially off-angle and distant viewing.
- auto left-right synch fixed, (should no longer need to manually swap eyes.)


Related

Wiki: Architecture
Wiki: Development_Strategy
Wiki: Home
Wiki: IO_Channels
Wiki: Performance
Wiki: zSpace

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.