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 overlook.

What is optimization?

Without wasting time, optimization is the act of making something function better at it’s 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, in order 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 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.

But 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 this 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 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 should make sure that the software is built in such a way to take full advantage of the CPUs strengths.

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

Apple

Apple controls the entire process of making software for it’s 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 are nearly bug free and smooth with exception of 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 does.

So what did they do?

They simply leaked their SoCs 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 building, coding or modding apps for Snapdragon SoCs.

Qualcomm also gives them to 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 on the Android ecosystem.

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

These two screenshots are gotten 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 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’s 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 knife that is sharp. Which one would cut better?

The sharper, more optimized knife obviously.

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: