On this page you'll find answers to frequently asked questions about Umbra Occlusion Booster General questions
What is Occlusion Booster?
Occlusion Booster (OB) is a rendering optimization middleware specifically optimized for XBOX 360TM and PLAYSTATION® 3.
What are the benefits of OB?
OB increases frame rate and speeds up the content pipeline.
What platforms is OB available on?
OB is available on Xbox 360TM, PLAYSTATION® 3 and PC.
Is OB available on commercial game engines?
OB has been pre-integrated into Unreal Engine 3, and many proprietary game engines. We are currently working on several third party engines.
How can I evaluate OB?
For evaluations use the contact form or send email to sales(at)umbrasoftware.com.
How long does it take to integrate OB?
A basic integration of OB to a proprietary game engine typically takes about 3-5 days. OB evaluation packages ship with an integration guide and sample code which make the integration extremely easy.
What's the licensing model of OB?
For licensing information on OB contact us via email at sales(at)umbrasoftware.com or using the contact form.
What are the hardware requirements of OB?
A GPU that supports DirectX 9 and/or OpenGL 1.5 or later is required to utilize the full feature sets of OB.
Can I use my own bounding volumes with OB?
Yes. You just have to notify OB when the bounds change.
Can OB be integrated into a deferred renderer?
Yes, OB works particularly well with deferred rendering.
What input does OB require from the engine?
OB needs to know the bounding volumes and transformation matrices of objects, and the viewing camera parameters. Support for systems that do not meet the requirements is also available.
Can OB deal with engines where the CPU is running a frame ahead of the GPU?
OB supports both latent and interleaved mode occlusion queries.
How do you get over GPU stalls when using interleaved occlusion queries?
Carefully designed multithreaded rendering engine can schedule rendering commands so the GPU stalls do not occur even when the occlusion query results are read back during the frame they were issued.
How much memory does OB use in a typical case?
Currently OB uses about 300 bytes per object. The memory usage is being constantly optimized.
Can we control the memory usage somehow? Can we overwrite the memory manager? Can we limit the amount of memory used by OB?
Yes, users can override OB memory manager.
Can OB work within fixed memory?
OB allocates memory when new objects are created. OB does not allocate additional memory during visibility processing.
Do we have to store object transformation matrices on the application side if they are stored in OB?
Because of the multi-threaded nature of the implementation, OB needs to take a copy of data such as transformation matrices.
Does OB have an internal memory pool that it uses?
OB uses an internal memory manager pool to minimize calls to system memory allocation functions.
What does OB process on the SPUs?
OB traverses the scene and solves the visibility on the SPUs.
What does OB process on the PPU?
Object creation and scene loading is currently done on the PPU.
How much SPU time does OB require per frame? Or how much time does OB require on the XBOX 360?
On average OB uses roughly 15% of one core per frame.
Can we assign the HW thread(s) OB uses on Xbox360?
Yes.
What's the overhead of OB?
The point of OB is to always save processing time.
How much time is spent on occlusion queries on a typical case?
Less than 1ms of GPU time.
How much time is spent on traversing the hierarchy on every frame?
Since hierarchical traversal is done on a separate core/SPU, it does not affect the application performance.
How big is the performance hit when loading in new objects at runtime?
OB has really low overhead and is designed for fully dynamic scenes and creating objects.
How much performance is typically gained using OB?
It depends on the scene, but typically you can expect a 20-100% frame rate increase.
How many objects can OB handle?
There's no fundamental limit to amount of objects OB can process.
Can OB handle streaming and how?
Visibility information can be used to optimize streaming by not streaming in the hidden objects.
Can OB handle LODs and how?
Visibility information can be used for LOD level selection so that objects that are e.g. only 5% visible can use lower LOD level.
©2007 Umbra Sotware. Occlusion Booster and OB are registered trademark of Umbra Software.