Do Use All CPU Cores

Using multi-threading in applications is key to efficient CPU use.

Using multi-threading in applications is key to efficient CPU use.

Modern mobile devices usually have more than a single CPU core. To achieve the best performance possible on modern CPU architectures, it is crucial that applications use multi-threading wherever possible.

For example, consider having graphics updates on the main thread, while having physics updates running on a separate worker thread. Splitting large chunks of work such as physics, animations, and file I/O over multiple threads enables the application to use the CPU more efficiently. This usually results in a smoother end-user experience.

If the application is targeting the Vulkan graphics API, it may be possible to split preparation of draw commands (building command buffers) over several threads.