Equalizer logo
Collage logo
GPU-SD logo

Chromium vs Equalizer Comparison

Introduction

Chromium and Equalizer solve a similar problem by enabling applications to use multiple GPU's, but have quite disjunct use cases and characteristics.

In one sentence: You want to use Chromium if you want to run an unmodified application on a display wall or similar setup, and you want to use Equalizer if you want scalability, flexibility and compatibility.

This document has been reviewed by one of the Chromium developers.

Typical Use Case

Chromium can be used as a transparent solution as well as a tool to develop parallel OpenGL applications. Most often it is used and perceived as a transparent solution to run unmodified applications. Equalizer's focus on the other hand is to create parallel applications. The following table outlines the differences between the two scenarios:

Transparent Layer: Chromium Parallel API: Equalizer
runs unmodified applications minimally invasive API: application has to be adapted
focus on transparency for applications focus on parallel rendering performance and scalability
operates on OpenGL command stream parallelizes application
single application rendering thread multithreaded and potentially distributed application
mostly used for rendering to multiple, planar displays, immersive installations may require application changes multi-display and immersive installations, many-to-one scalable rendering
limited OpenGL extension support and compatiblity full OpenGL compatiblity: does not interfere with OpenGL rendering code

Parallel Programming Interface

It is also possible to write parallel, scalable applications with Chromium. Parallel Chromium applications can have similar functionality as Equalizer applications, but usually at a higher implementation overhead.

Chromium Equalizer
parallel OpenGL extension, used by application for synchronization parallel GLUT-like execution framework, inherent synchronization
sort-last compositing SPU generic compositing engine allowing sort-first, parallel sort-last and stereo compositing
Python configuration scripts, not transparent for parallel applications Externalized configuration: flexible text files
? distributed, versioned objects, message passing

See also Comparison matrix to competing approaches on the Chromium website.

Closing Remarks

Please note that most other multipipe rendering software toolkits fall into the same category as Chromium, by distributing the OpenGL command stream. The Analysis of Parallel Rendering Systems white paper gives more background on the subject. The wikipedia article on Chromium gives a good overview as well.