2016-2020 | Seoul
LG Electronics manufactures and exports comprehensive embedded system on IVI (in-vehicle infotainment system) and AVN (Audio-Video-Navigation system) for most of the modern automotives. The most recent project involves Geely, a top 5 global automotive producers and an owner of Volvo Cars, as well as Hyundai-Kia Motor Company which accounts for the largest revenue for LGE Vehicle Components group as a single customer base, both of whom plays an important part of GenIVI alliance.
IVI/AVN systems of LG Electronics needs to provide fail-safe and instantaneous response to the user’s input via either touchscreen or voice command. In leveraging the latest graphic technology of wayland, Qt® technology was used to better interface with the user also to meet the demand on performance. With a slight variants across, the key focus was to boost system performance in both booting time, response time as well as managing the use of memory to provide seamless user experience.
The optimization process has taken a deep look at all area of possible enhancement including but not limited to QML application source code as well as the application windows manager, where applicable, while leveraging and possibly modifying the existing source code and libraries of the applications.
Basic QML/C++ Optimizations, directly by replacing QML constructs with equivalent but more efficient ones or moving some parts to C++ as well as by making modifications on the code itself;
Improve Delay Loading at Startup on Invisible Items, to remove instances where apps are using CPU after being started but without affecting the screen;
Improve Application Launcher Algorithm, by improving IPC, starting more processes in parallel and manipulating the start-up process with respect to priority and CPU usage;
Investigate how apps communicate with the backend, to remove any unnecessary delay so as to optimize application initialization process;
Investigate further optimization area, by continuous profiling and benchmarking during the project term, including not limited to better font and asset handling, general process instantiation architecture changes, such as combining processes, start applications via forking from a common base process, pre-linking, which will be proposed, discussed and proceeded upon agreement.
Optimization was done with a great success achieving over 70-200% of the performance improvement of the target system, also brushed up a new GUI look.