About the client
Our client is a high-tech mapping company from the Netherlands that delivers advanced mapping services and solutions globally. The company offers accurate navigation rendering service and location-based data, sophisticated navigation solutions as part of in-vehicle infotainment (IVI) systems, tools for building mobile navigation apps, and a collaborative cloud-based ecosystem for location-related development. Our client offers their products to customers in the automotive, social networking, engineering, and road maintenance industries as well as to municipalities.
By converting our surroundings into intelligent location data, our client unveils valuable insights that have the potential to enhance the way we live and optimize how our cities move. For instance, their accurate real-time road and traffic data, combined with IoT connected vehicle technology, helps save time and lower emissions by reducing urban congestion.
Our client came with the challenge
Modern buyers of consumer electronics and cars have developed an ever-increasing thirst for quality navigation products. Global OEMs, auto manufacturers, and mapping service providers are forming alliances to evolve their products into comprehensive integrated navigation solutions. And as more and more pixels are being pressed into device screens, crisp graphics, 3D projections, and rendering performance are becoming the most in-demand features.
Partnering with some of the world’s leading carmakers and OEMs, our client provides rendering service for navigation. Their centralized proprietary mapping platform provides map compilation pipelines, 3D map rendering, routing and positioning engines, and more.
But the platform as a whole (and its core rendering component in particular) appeared too monolithic to reasonably cover the needs of an increasing number of mobile and automotive consumers. Our client decided to split their rendering core into several flexible branches. They also wanted to extend the rendering engine with new functionalities. To cope with these tasks, they needed a reliable outsourcing partner to broaden their engineering capacity.
Intellias has delivered the responsive map rendering service for navigation
Our involvement with this client started with team extension for several automotive programs. Gradually, we took full ownership of the largest program, serving the navigation needs of a German premium carmaker, including their need for map rendering service.
The Intellias rendering team is spread over several workstreams, which are comprised of sub-teams developing E2E NDS navigation solutions for carmakers, building mobile navigation SDKs, working on in-car navigation SDKs, and engineering future mapping products.
Our automotive rendering sub-teams develop rendering functionalities specific to in-vehicle head units running QNX, Android 5.0–8.0, and Ubuntu 16. However, if other product teams find a certain program-specific feature interesting, our engineers can add this functionality to the rendering core through its integration layer and make it available for any requester. Our engineers make sure such features don’t meddle with the operation of the core rendering engine.
Among our biggest accomplishments has been a considerable improvement of map rendering performance in in-vehicle navigation systems. It took the Intellias rendering team about a year to improve performance of the layer rendering processes. The goal was to achieve up to a 50% reduction in total CPU use and up to a 25% reduction in CPU use for rendering. To accomplish this, we used instrumentation and sampling profilers (Telemetry, Easy Profiler, VS profiler, VTune), the VS memory profiler, RenderDoc, and the NVIDIA Tegra debugger.
Intellias engineers managed to halve the average render time per layer, from 35 to 45 milliseconds down to 20 to 25 milliseconds. This considerable reduction was achieved through:
- mathematical optimization (specifically with the box-frustum intersection test)
- algorithmic improvements (faster projection code)
- removing obsolete functionality and unused code
- calculation asynchronization
- reducing calculations within a given scope
- removing a huge memory access gap
- minimizing allocation using a per-frame allocator
- unifying threads (trading CPU utilization for latency)
- frame synchronization
- simplifying heuristics
In addition, our test engineers set up a comprehensive rendering testing strategy. All testing is performed manually on various automotive head units and emulators.
We’ve achieved great results together
The contribution by Intellias to our client’s automotive-grade map rendering engine has been highly acknowledged by the automotive end customer. Notably, the benefits of rendering performance optimization have been proven by rigorous testing on real-life hardware, not with synthetic tests. We helped almost double the map rendering service performance and increase the overall frames per second of the system.
Due to this impressive result as well as the specific technology expertise we’ve gained over years of collaboration, our Intellias team will soon take full ownership of the rendering workstream for the next-generation E2E car navigation solution for this customer. This next-generation solution is based on a completely new universal navigation rendering service that our team is also contributing to.