≡ Menu

Android и многоядрените процесори в детайли

android-processor Реших да напиша тази статия, понеже с доста хора спорехме има ли изобщо полза от двуядрените процесори в смартфоните. Нека минем направо, ако не ви се чете, можете веднага да научите отговора, а той е НЕ.

Постоянно се спекулира как двуядрените процесори правели телефона по-бърз, как всичко вървяло по-добре, вече започват да излизат и четириядрени процесори. Правят ли обаче те телефона два/четири пъти по-бърз? Да, на теория биха могли.

Сигурно знаете за разликите между x86 (32-бита) и x64 (64-бита) при компютрите. Ако процесорът е 64-битов и сложите 64-битова OS, нещата на теория би трябвало да са по-добри. На теория 64-битовите изчисления са няколко пъти по-бързи от 32-битовите и като цяло всичко може да става много по-бързо. Но с едно голямо НО.

За да се възползвате от 64-битов процесор и OS трябва да използвате софтуер (програма), оптимизиран за 64-бита, писан специално за 64-битовата архитектура и възползващ се адекватно от предимствата на x64.

Такива приложения са някои браузери, антивирусни (за по-бързо сканиране) и някои научни приложения (в изследователските центрове се ползва специален x64 софтуер). Ако стартирате x86 (32-Bit) приложение под x64 OS то започва да работи в “наследствен режим”. Така се възползва само от предимствата на x86, но не и на 64, защото просто не е писано за тази архитектура.

Е, нещата при процесорите са същите. Малко на брой (десетки) са приложенията, оптимизирани за двуядрени процесори. Повечето работят само с 1 ядро, което означава, че другото е един вид “неактивно”. То работи, но не спомага по никакъв начин в процедирането на приложението.

Например dbPowerAmp (програма за конвертиране на музика под Windows) прави конвертирането на много файлове няколко пъти по-бързо, което е от полза, защото се възползва адекватно от многоядрените изчисления. Ако му дам например да конвертира 400 песни в друг формат, то ще конвертира по 2 наведнъж (2 ядра, и 4 наведнъж за 4 ядра и т.н.) и така ще се конвертират песни по 2, а не 1 наведнъж, и конвертирането свършва два пъти по-бързо. При Android приложенията липсват, дори Convert приложения, които да се възползват от двете ядра. Имаше клипче в Youtube- XPERIA Arc S (1.4GHz едноядрен) vs. Samsung Galaxy S2 (1.2Ghz двуядрен). На теория би трябвало конвертирането да бъде по-бързо при SGS2, защото е с две ядра. Какво се получава обаче? Едноядрената XPERIA го минава с няколко секунди отгоре. Защо? Защото приложението е писано само за едноядрени процесори, и така се получава два едноядрени 1.4GHz срещу 1.2Ghz, съответно Arc S побеждава. Разбирате ли за какво става въпрос?

А как стои въпроса с гейминга? Същото е..

S2 има мощен хардуер, както и той, така и RAZR, и 2X и т.н. Но те струват повече пари от XPERIA PLAY, който е геймърски насочен, с адски богат каталог от игри. Затова препоръчвам по-евтиния вариант (PLAY), той върши същото. Няма игра за двуядрен процесор, която да няма cache (кеш) за едноядрен. При това не по-малко качествен. Нали двете ядра бяха по-бързи?

Андроид се комерсиализира с прекалено много игри, които вървят и на моя телефон, пише в маркета, че не стават и не са съвместими. А в нета като ги дръпна, дръпна кеша и хоп-кеф ти асфалт, кеф ти GTA3. Всичко това с цел вдигане на продажбата на определени модели или директно на двуядрени телефони. Защо GTA3 отначало (не знам сега как е) не поддържаше SGSII официално? Айде бе, с тоя хардуер и да не го поддържа. Поддържа го, ама нали трябва да се продават и други модели. Нали за това трябва и да се спира поддръжката и т.н. Заради прекаления комерсиализъм.

Много говорят и за това как с двуядрен процесор всичко е по-плавно…

По плавен нет? Вие виждали ли сте плавноста на IE9 (WP7), Safari (iOS5)?

По-добра свързаност? Същата е.

По-добра графика?! Казах, кеша го има за всички едноядрени (или поне 80%).

Сега някои ще кажат-двете ядра спомагат за 1080p видеозаписа. Не, 1.2GHz Hummingbird процесора (1 ядро) също е способен на Full HD запис.

Нека поговорим за плавноста.

WP7 (много плавна ОС) телефоните са отлични откъм ценова листа (изкл. Lumia на Nokia, такива високи цени за едното нищо).

Просто аз гледам да покрия нуждите си с възможно най-малко пари, но не толкова малко, че да си купя баш евтин китайски боклук. Но оптимално малко-т.е. нито да е китайска бракма, нито да е скъп.

Браузването с iPhone 4 (дори 3GS) също е гладко и приятно. Даже наскоро работих с iPod Touch Gen.2 (отговарящ на iPhone 3G). Еми пак си беше приятно браузването. И пак трябваше да се вгледам много, за да видя пикселите.

Просто не искам да давам пари за нещо, което ще е старо след 1год. Което го няма при iPhone и WP7, и обновленията продължават. И са по-гладки като работа. И по-евтини от двуядрените. И пак записват HD.

Че като се оптимизира всичко докрай се получава… Ами WP7, iOS и Symbian. И MeeGo, между другото. Дори BlackBerry OS, даже и WebOS.

Защото Android никога не е бил и няма да бъде толкова оптимизиран, колкото първите две, посочени по-горе много производители, много телефони, и нито един производител не си дава сметка, че освен (често) грозния си Launcher трябва да оптимизира всичко, за да работи както трябва, да изстиска максимума от тоя процесор докрай.

Плавността зависи и от ROM-а. С начален (стоков) ROM от много ръчкане SONY са направили X10 (1GHz) да минава по-надолу от стоков LG O1 на 600 MHz. Ето това е не просто липса на оптимизация, ами и ръчкане из всички системни файлове за да се направи общия Timescape UI, защото само с един Launcher няма да стане. И като почнат да ръчкат из файловете (те явно служителите им и те толкова знаят кое да пипат) и се получава… Хубав интерфейс, ама с лаг и направо срамен резултат за 1GHz телефон да го минават 600 MHz телефончета по бенчмаркове. Ето това искам да покажа.

Нещо, което както посочих по-горе SE не правят, и това ме дразни.

Нали мрънкате, че мощния хардуер оправял всичко-защо 2.1 на SGS има лаг? Айде, оставете JIT, ами другото? Защото не са го пипнали както трябва… Ето това е истината. Колкото и ядра и гигахерци да имаш, ако приложението ти е некадърно написано, то ще си остане такова.

Колкото до 1080p записа-той и от едноядреният би могъл да се справи. Друг е въпросът дали производителите го искат… Нали трябва да продават. Нали заради това пробутват и рекламират две ядра без ясен смисъл от тях, грозния си UI който сам прецаква производителността, нали заради това да продават, забравят за телефона малко след като го пуснат и ъпдейтите са до там. Именно, защото на тях само 1 им е в акъла – ДА ПРОДАВАТ.

Ами… Фалирайте!

Може би тези, които са си взели телефон с двуядрен процесор, преди са били с телефон с едноядрен, който очевидно ги е дразнил (защо иначе да го сменят?) и са минали на модел с двуядрен процесор, и от там си мислят, че като вече няма лаг в менютата и браузера, и им вървят всички игри, двуядрените процесори помагат и вършат всичката тая работа. Нищо подобно. Плавна е работата и на XPERIA Arc (1GHz Single-Core) в менютата и бразуера, плавна и е и на WP7 телефоните. Защо плавността на един WP7 телефон надминава Android? Защото андроид е инсталиран в над 200 устройства, и производителите, чиято единствена цел е да продават, без дори да се замислят дали на потребителя му харесва или не оптимизират андроида, а слагат (предимно) грозния си launcher, минават всички системни файлове (за да придобият стила на производителя-примерно Xperia, TouchWiz и т.н.) и им събарят производителността и там. И хоп-телефон с двуядрен процесор. И андроид, който не е оптимизиран до край за конкретното устройство.

В момента всяка игра си има кеш и за други модели, който може да се изтегли от нета, така че дори там е спорно дали трябва двуядрен. Не двуядрен, а оптимизация трябва. Такава, каквато няма в почти нито един Android телефон.

Ще ви дам пример с нарочно събаряне на производителност- Xperia Arc S прави около 1600 т. на Quadrant според рекламните изображения на Sony. Процесорът и е 1.4GHz, ARMv7 (т.е. поддържа Flash). С Custom ROM и лек клок до 729MHz моя O1 вдига 1600 т. А сега кой какво е оптимизирал? Тая експерия и 3000 точки може да направи, ама като сони са пипали дето не им е работа така са съборили телефона, че и стоте ядра няма да му помогнат. X10-1Ghz процесор, със стоков 2.2 ROM на 600MHz я минавам в Quadrant. А вижте колко са ви пипали производителите и колко са компетентни. За да изстискате максимума от двуядрените си сваляйте Custom Rom’s с висока производителност.

Защото и най-мощния хардуер не може да забърза лошия софтуер.

{ 0 comments… add one }

Leave a Comment

error: Content is protected !!