The Graphics Processing Unit (GPU) has a highly parallel structure. It is designed for accelerating the building of images for output display.

Code that uses a traditional 2D drawing Api for drawing the area fills, fill patterns, lines, symbolized lines, symbols and text labels constituting an ENC chart display can only benefit from the GPU's capabilities to a very limited degree. The rendering performance will be constrained by the CPU or the computer’s bus. Systems rendering a chart display repeatedly in a loop will typically be limited by a single CPU core which operates under full load while the Graphics Processing Unit (GPU) remains practically idle.

The application logic of a (W)ECDIS or ECS system includes continuous computationally expensive operations which compete with the chart drawing operations for CPU time.

Taken together today’s (W)ECDIS systems and other charting applications have a high demand for CPU power which limits the performance for typical scenarios (hardware, resolution, amount of data) to refresh rates insufficient for smooth moving images.

The design goal of our 2D vector rendering engine Despina was to develop a system that renders ENCs in compliance with the Presentation Library defined in S-52 with the best possible visual appearance while utilizing the GPU as good as possible.

We achieved a very good result as Despina is rendering almost exclusively on the GPU.

The rendering performance of applications based on the Despina engine is dramatically higher compared to applications based on a CPU based rendering engine. On modern inexpensive hardware the system will reach high frame rates at very low CPU load. The rendering operations do not compete for CPU power with the rest of the application logic.


We measured the average frame rate for a simple test scenario on a number of different graphics chipsets. The results are listed in the table below.

The Scenario

The dataset US4ME27M.000 is one of the largest S-57 ENC cells delivered by NOAA. Rendering this dataset is therefore quite time consuming compared to the average ENC cell. Rendering the dataset on the screen in full ensures that all objects are actually drawn rather than skipped.

  • Dataset: US4ME27M.000, Edition: 1, Update Number: 0
  • Resolution: 1920x1080
  • Map section: Cell drawn centered, filling screen (Scale: 1/225000 for 24 inch screen)
  • Settings:
    • Display category: All/Other
    • Soundings, contour labels, text labels all on.
    • Safety Contour = 30m, Deep Contour = 30m, Shallow Contour = 2m
    • Data Quality Patten and Shallow Pattern both on
    • Symbolized Boundaries
    • Paper Chart Symbols
    • Lights on

The Results

The full system specifications are not included for simplicity as the graphics chipset makes all the difference and the numbers shall only give a rough impression about the performance and scalability of the rendering engine. All systems had Intel Core i7 (x64) Quad Core CPUs.




Frames Per Second


GeForce GTX 285




GeForce GT 330M (mobile)




GeForce GTX 680




Radeon 5800 HD Series



Go to top