Hello there,
Long time since we communicated! This was supposed to be the Saturday special (wrote this on friday actually, but was down with fever and food poisoning, that too on my b’day. Seems to be street food, anyways).
Had some tweaking to do before I could take some time off . Deliveries have been on time and the new manufacturer team did a good job as new customers can see. Yesterday (read Friday) we went out of stock for all the variants. Had some 100+ interviews in last 2 weeks, tons of development and ODM meetings. The content project which we brushed earlier is also going in full pace. I will cover it soon.
We are back to our technical discussions here on the blog. I want to cover 2 topics today, first is the font rendering and other is GPGPU.
Most of you are probably reading this on your computers with Windows, Mac, Linux or Adam (or other tablets). People not viewing on the tablets can see foreseeable quality difference as far as the font rendering is concerned. Computer OSes are pretty mature when it comes to fonts, and investment in it clearly shows. Anti-aliasing and sub pixel rendering are some of the key words you might have heard before. Android natively uses Freetype and images below shows the quality when compared to Cleartype technology used on your Windows OS


First is the word “considerable” on Adam running Android and next is the word “Minh” on Windows 7 on Dell screen. Few immediate things you can notice (along with the rendering quality) is:
- in “Minh” letters always have blue pixel on start and end. This deepens the font and make it look better
- dpi of Adam is more as compared to the Dell screen, but still gets beaten by the later
- you can see sharp red lines at the end of character “i” and “d” in the upper image, this makes text look real bad
- sub-pixels are handled in a better way on the latter as compared to the former
Look at the image below taken from msdn site (
link):
Now, what you see here is interesting. Sub-pixel rendering is supposed to make things better, but in the first column, character formations are better, but the readability has reduced (I think most of you will agree on this). Designers would love the technology used in the first one, cos there is no scaling or zooming on production, but it’s definitely not good on the eye. It’s definitely a personal choice.
Apple has stopped using sub-pixel rendering,
(check this blog) mostly cos their devices don’t use sub-pixel rendering. As written on this blog “
With subpixel rendering the text is stronger, yet crisper. The lines are sharp and defined, and there are much fewer blurry edges. Not only is it more readable, it just looks better“.
But then there is a contradiction on what we see above. Text in first column is definitely not strong. The answer actually lies somewhere in the algorithm, contrast ratio, color of the text, font type, vertical versus horizontal, screen dpi and lot more. Frankly, I like font rendering on Windows far better than on Macs or iPad. In the phone category I will rate both the iPhone 4 (extremely high dpi and contrast) and HTC HD7 with Windows 7 (ClearType implementation) the same. Right now, we are experimenting on what the best combination is. If you have proven ideas, please do share.
Now let’s cover the GPGPU part. As you know it stands for “General Purpose computation on Graphic Processing Units”. Currently available SoCs on the market are know for their graphic performance. In Linpack tests Tegra offered 36.8Mflops and iPad 41.0Mflops (
iPad 2 is 160.8Mflops cos of NEON). Tegra 3 should see better score as it has NEON implementation. But that’s when you use the CPU. When you use Tegra’s GPU
(I wish they would allow everyone to use the GPU the same way you can using CUDA, but there’s a work around) it can give upto 4.8GFLOPS.
(PowerVR is 19.2GFLOPS by the way and that’s one reason our love for OMAP 5 is increasing).
FLOPS – floating point operations. Programmers are generally instructed not to use floating points but integers and this practice has led to algorithms which are based on integral mind-set. When we realize that such amazing floating point operations can be performed on mobile devices, algorithms need to be refined in a newer format. GPUs along with FLOPS offer you multiple threads (cores) and that just multiplies everything. A simple algorithm I have written using floating concepts can theoretically find a string in a database at the same rate as on Intel i7 series. Experienced programmers can definitely get better than that.
The important thing here is to start looking at fractional values in a very different way. GPUs are going to get better (soon on tablets you will see someone clocking teraFLOPS) and so far we haven’t been able to do any ground breaking innovation for General Purpose computing. GPUs will also assist AI which will be a very large element in future OSes.
If you have ideas on GPGPU or on improving font rendering, do leave a comment or best, post it on the “Ideas” section at the conclave.
This is the best time to comment, and give your feedback on what you’d like to see. I have been collecting comments and thoughts from Conclave and majority of them want us to focus on the screen quality, camera, battery life and wi-fi strength. We have done extensive research on these fields and will share it with you in coming weeks.
Bye for know, will keep you posted!
With Warm Regards
Rohan Shravan
198 comments