SoC Optimization

So what I want to look at is a teeny tiny thing called SoC optimization. Yes, SoC optimization. It’s something that a lot of people tend to overlook.

What is optimization?

Without wasting time, optimization is the act of making something function better at its job. This is a very peculiar way to describe it but I’m sure this definition should be a lot easier to comprehend.

When you make adjustments to something, to help it function better, you are optimizing it. There are many examples of optimization in our daily lives. For example, sharpening your kitchen knife. When you sharpen your kitchen knife, you’re optimizing it so it can work better and faster. Sometimes it can work all too well and end up giving you a cut.

Read: Introduction to Smartphone SoCs


SoC Optimization

Optimization is a very important part of making SoCs and CPU cores in particular. Because if you don’t optimize it to work well, you may get issues along the way in the future.

So basically, SoC optimization is when you optimize a CPU core to carry tasks and run better.

All ARM’s designs are very optimized for the work that they are designed to do. I want to make that clear so that no one misunderstands what I’m passing across. All of ARM’s designs are well-optimized to do their job, but they’re only optimized from a general point of view.

Think of it like engines for example. All engines are designed to make a vehicle move from point A to point B. However, the engine for a tricycle is not the same as the one for a Mack 18-wheeler truck. Even though they’re both engines. The engine on an 18-wheeler truck is optimized to drag heavy loads. The one on a tricycle is not.

So all ARM’s designs are only optimized from a general point of view of data processing.


SoC manufacturers

It is up to the fabless manufacturers who buy these designs to optimize them for the jobs, that they want them to perform.

A good example is MediaTek’s Helio G series. G for Gaming. The SoCs on this series all have CPUs that are designed (overclocked) for gaming purposes. They also have that HyperTek engine that is supposed to optimize the SoC for gaming.

Another example is the Google Tensor. It is designed/optimized to work as an Artificial intelligence/machine learning Processor.

Whether it’s an AI or normal or gaming SoC, whatever task that the manufacturer intends for it to do, they must ensure that they optimize it for the task.


Read: Top 100 Smartphone SOCs in the World 2022


How do you optimize SoCs or CPUs for tasks?

Simple. Manufacturers should build SoCs in a way that is easy to program software for. Software developers usually make sure that software is built in such a way as to take full advantage of the CPU’s strengths.

This is where Apple and Qualcomm tend to excel a lot.

Apple

Apple controls the entire process of making software for its processors. Even going as far as making Home Dev kits for developers.

As if that’s not enough, Apple’s own Dev team will test the software that a Dev is putting on the Apple store before approving it.

All of this is to ensure that all the software running on the Bionic SoCs is nearly bug-free and smooth except WhatsApp. With that being said, I dunno why WhatsApp is bad on iOS.

But generally speaking, 90% of the apps that run on Apple’s iPhones tend to do so smoothly and without a lot of fuss. Because they are usually optimized for the SoC.

Qualcomm

Qualcomm doesn’t have an established Phone brand like Apple.

Yes, Qualcomm made a phone last year called Snapdragon for insiders and ASUS helped them manufacture it. But no, it doesn’t count as much. Qualcomm does not have a phone brand or software.

This would make it hard for them to control the optimization process for their SoCs, the way Apple or Google Goes. So what did they do?

They simply leaked their SoC specs to software developers for free. Sometimes, they even pay game developers to make their software run better on Snapdragon.

Because of the free and open nature of Snapdragon SoCs, lots of software developers find it easy to build, code, or modding apps for Snapdragon SoCs.

Qualcomm also gives them tools to help them optimize these SoCs very well. This is why GCam, modded apps, custom ROMs, etc work seamlessly on Snapdragon SoCs more than any other SoC brand in the Android ecosystem.

SoC Optimization showing NBA 2k running on phone A but not on phone B

These two screenshots are taken from two phones made by the same company. On the left is the Redmi Note 9 Pro which supports NBA 2K. On the right is the Redmi Note 10S which does not support the game.

Why does the older phone support the game and the newer one doesn’t? You must have guessed the answer already. Optimization. The game is optimized for the Qualcomm Snapdragon 720G on the Redmi Note 9 Pro. The same cannot be said for the MediaTek Helio G95 on the Redmi Note 10S.


In conclusion…

Exynos from Samsung tends to be a mixed bag when it comes to optimization. It is the more you look, the less you see.

The jury is still out on the Google Tensor. MediaTek and Unisoc are dead last when it comes to optimization.

So what this means is that sometimes, you could see an SoC with Cortex A73 CPUs unable to play a game, yet an SoC with Cortex A55 will be playing the said game very very well.

This is why one should apply caution when reading specs. A whole lot of caution.

Because there are lots of people who have only just learned how to read SoCs and are busy misleading themselves and others on social media.

Sometimes a CPU or SoC may have a lot of power but will struggle with tasks. Think of it like a big knife that is blunt and a small sharp knife. Which one would cut better? The sharper, more optimized knife.

So that is what optimization means. If you have been hearing about optimization or maybe you’ve not. I dunno. At least now you know what it means and how it affects SoCs.


Please leave a comment if you have any difficulty and remember to:

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *