History
Performer came about in 1991 when a group from SGI's Open Inventor project, then known as IRIS Inventor, decided to focus on performance rather than ease of programmability. Whereas Inventor delivered easy-to-use objects and various UI elements to interact with them, Performer focused on a scene graph system that could be re-arranged on the fly for performance reasons, allowing the various passes of a rendering task to be performed in parallel in multiple threads. Performer allowed the scene to describe levels of detail with hysteresis bands and fade capabilities. Frame rate and statistics were monitored and a 'stress' factor was calculated. This could be used to further weight the level of detail in the scene eliminating detail to maintain a target frame rate.
Other key features of Performer were the use of symmetric multi-processing capabilities, support multiple graphics pipes and the ability to utilize the scalable resources of high end systems. In this regard Performer was actually simple to use given the underlying complexity. Application culling and rendering could be running in different threads locked to different physical processors. In a multi-pipe (multiple graphics subsystems) configuration rendering to each graphics pipe would have a dedicated thread and similarly culling would also have a dedicated processor. Advanced features like database paging, texture paging and point light source management (for flight simulation) and intersection testing for collision detection would also have dedicated processors allowing asynchronous i/o and processing to occur without negatively impacting graphics performance. Most of this complexity was hidden beneath a simpler scene graph API with relatively high level configuration calls which could be made to set up the threads and inter-process communication.
Performer did not have a native file format, merely plugin loaders from 3rd parties such as MultiGen's OpenFlight format loader. Similarly there was no default runtime, there was sample code and the often used and often modified 'perfly' sample application. This probably contributed to its reputation for being difficult to use.
By the mid-1990s it started to become clear that there was no reason that Inventor and Performer could not be combined. This led to the Cosmo 3D project that SGI was intending to build both Inventor and Performer (now essentially API shims) out of, as well as promote as a new and higher-level standardized API for future work on the SGI platform. However after the first beta release of Cosmo 3D, SGi joined with Intel and IBM (and later DEC) to create OpenGL++, essentially a cleaned up version of Cosmo. This project died when SGI turned their attention to an almost identical project with Microsoft known as Fahrenheit, which was also killed. Today Inventor and Performer remain separate products, and none of the combined versions ever saw the light of day.
Read more about this topic: OpenGL Performer
Famous quotes containing the word history:
“If man is reduced to being nothing but a character in history, he has no other choice but to subside into the sound and fury of a completely irrational history or to endow history with the form of human reason.”
—Albert Camus (19131960)
“Universal history is the history of a few metaphors.”
—Jorge Luis Borges (18991986)
“Three million of such stones would be needed before the work was done. Three million stones of an average weight of 5,000 pounds, every stone cut precisely to fit into its destined place in the great pyramid. From the quarries they pulled the stones across the desert to the banks of the Nile. Never in the history of the world had so great a task been performed. Their faith gave them strength, and their joy gave them song.”
—William Faulkner (18971962)