...
OSRAM
Developed with superior usability in mind, e:cue sympholight is a simple yet powerful lighting control software with an intuitive graphic user interface.
Based on advanced timeline programming, e:cue SYMPHOLIGHT combines easy fixture and project set-up, content creation, automation and execution control in a single application. With powerful scripting capabilities, visual automation tools, and remote control via any web browser, e:cue SYMPHOLIGHT provides easy and playful design experiences even for the most sophisticated lighting and media applications.

e:cue SYMPHOLIGHT 2.0 includes innovative and intuitive tools that facilitate the design of simple to complex lighting shows. Position lighting fixtures in a project plan and configure devices in the central control system. In addition to programming special lighting effects, video-to-light pixel mapping, visualization of the lighting installation is possible. Advanced triggering and visual automation tools provide capabilities for a wide spectrum of lighting installations, including multimedia, show and functional lighting control as well as building automation integration.
Main features
  • Patching, device setup, programming and execution in one single application
  • Easy control of both DMX and DALI fixtures
  • Full integration and support for all e:cue SYMPL Modular Controller Range devices and many classic e:cue devices, like Butlers and Glass-Touches
  • Powerful “Workflow Designer”, a visual automation tool for easy and extremely versatile automation of any kind of internal or external data and source
  • 3D support for advanced projects with more than just a flat surface
  • Easy programming even for complex routines without usage of scripting languages
  • Simulation capability for both design and execution stages
  • HTML5-based Graphic User Interface (GUI) Editor for wired or wireless show control via any web browser on any device or Operating System
...
Challenge
The main challenge of this project was to realize DirectX 9-support and improved performance.

Our old solution was written in C++ using the DirectX 10 feature “instancing”. This worked very well on newer machines, but not on older PCs or virtual machines.
With the requirement of being able to run in virtualized environments, e.g. for the QA department, or Mac users, we have to support DirectX 9.
On top we wanted to increase the performance, too.
...
Results
After the first iteration of our implementation, we have gained an performance increase of about 200%. In addition the software now is able to run in Virtual Machines and on older PCs.

To enable this we have reduced the number of vertices our scene uses by nearly 99% by introducing new custom shaders that replace the functionality we had achieved only with a higher vertices count before. For our second iteration, we activated the WaveEngine’s Batching Functionality, resulting in almost unbelievable 2700% performance gain. In addition to that we were able to add even more features to our new solution.