Building embedded graphics systems to safety-critical standards is difficult enough; extracting maximum performance from these systems requires detailed knowledge of not only all aspects of a system's architecture, but also how each of its components is configured.
Maximizing graphics system performance means optimizing parallelism between the CPU, DMA memory buffers, and the graphics processor pipeline itself. If any one component monopolizes resources or acts as a bottleneck, system performance will likely suffer. Often, subtle changes in configuration will dramatically impact performance bottlenecks-- but determining the right changes to make can be difficult and time-consuming.
Today, Seaweed Systems® SeaWind®/178 Real-Time Performance Monitor (RPM) arms developers with the tools they need to observe and evaluate the inner workings of their graphics systems. SeaWind/178 RPM is integrated with the SeaWind/178 Core API. It runs on the target system itself and displays information on the target graphics display to help answer questions including:
Is the graphics system performing optimally?
Is the graphics processor pipeline working smoothly?
Is the memory bus or the DMA buffering strategy a bottleneck?
Is the graphics processor stalled waiting for the CPU?
Is the OpenGL(r) software operating as efficiently as possible?
Is one application monopolizing system resources?
SeaWind/178 RPM works with Seaweed Systems' DO-178B certifiable OpenGL graphics solutions, and it operates entirely on the target system. It can be programmed to capture graphics system performance as critical sections of code execute, for example. SeaWind/178 RPM's real-time performance information overlays the target system's display, helping to pinpoint performance issues. It can:
Observe frame rate, frame timing, and screen swap activities, including missed frame indication;
Report on multiple execution contexts (applications), their resource usage, and their memory buffer activity;
Characterize use of OpenGL functions including begin/end, vertices, and transforms;
Provide insight into the inner workings of underlying graphics devices (for supported devices), including internal resource utilization characteristics and pipeline throughput;
Profile relative time spent in applications, graphics driver, wait states, and even give insight into interrupt timing.
SeaWind/178 RPM links with the SeaWind/178 driver itself, allowing it to look upward into application performance, and downward into memory buffer and graphics processor resource utilization. Because of its unique position in the software stack, no other tool can duplicate SeaWind/178 RPM's ability to run on the target system with no external hardware or software connections. SeaWind/178 RPM's information panel floats over the target system's display with a configurable level of transparency.
Datasheet: SeaWind/178 Certifiable Graphics Software
Datasheet: SeaWind/178 Real-Time Performance Monitor