2012-01-30 16 views
9

libjpeg-turbo परियोजना "SIMD निर्देश (MMX, SSE2, नियोन) का उपयोग करता आधारभूत JPEG संपीड़न और x86, x86-64, और एआरएम सिस्टम पर विसंपीड़न तेजी लाने के लिए"।लिबजपे-टर्बो ऑप्टिमाइज़ेशन से एंड्रॉइड डिवाइसों का क्या हिस्सा लाभान्वित है?

एंड्रॉयड डिवाइस अंतरिक्ष की हिस्सेदारी किस तरह

इन निर्देशों का समर्थन करता है, और इसलिए इस पुस्तकालय का उपयोग करने से गति लाभ प्राप्त होगा?

(मैं NDK द्वारा ही पहुंचा मूल कोड में jpegs decompressing किया जाएगा।)

उत्तर

11

बाजार में एंड्रॉइड डिवाइसों का विशाल बहुमत एआरएम सीपीयू के कुछ स्वाद का उपयोग करता है। हाई एंड फोन (जैसे एचटीसी सेंसेशन) एआरएम सीपीयू का उपयोग करते हैं जो नीयन (क्वालकॉम स्नैपड्रैगन, ओएमएपी 4, सैमसंग एक्सिनोस, टेग्रा 3) का समर्थन करते हैं। पुराने/कम सक्षम फोनों में आमतौर पर कुछ एआरएमवी 6 चिपसेट होते हैं जैसे क्वालकॉम एमएसएम 72xx श्रृंखला। Google G1 और मूल मोटोरोला Droid कुछ अच्छे उदाहरण हैं।

एंड्रॉइड टैबलेट एक अलग कहानी है। मौजूदा टैबलेट उपकरणों का एक बड़ा प्रतिशत एनवीडिया टेग्रा 2 चिपसेट पर आधारित है जिसमें एनईओएन समर्थन शामिल नहीं है। टेग्रा 3 (एसस ट्रांसफार्मर प्राइम) के आधार पर नई टैबलेट में नीयन के लिए समर्थन शामिल है। कुछ दुर्लभ टैबलेट क्वालकॉम के एसओसी (जैसे एचटीसी फ्लायर) पर आधारित हैं और नीयन का भी समर्थन करते हैं। एमआईपीएस और यहां तक ​​कि कुछ x86 चिप्स के आधार पर कुछ कम लागत वाली टैबलेट भी हैं। फिर Google- टीवी उपकरणों की अपेक्षाकृत नई श्रेणी है। पिछले वर्ष के लिए ये मुख्य रूप से x86 रहे हैं, लेकिन जल्द ही आने वाली नवीनतम पीढ़ी में एआरएम सीपीयू का उपयोग करने वाले कई लोग होंगे।

-3

वर्तमान में सभी Android उपकरणों का उपयोग करता है एआरएम अनुदेश सेट। और उनमें से अधिकांश (लेकिन सभी नहीं) नीयन निर्देश सेट का समर्थन करता है। नीयन निर्देश एसएसई 2 की तरह x86 है।

+0

क्षमा करें यह सच नहीं है, x86 और mips आर्किटेक्चर का उपयोग करके बहुत सारे हाथ एंड्रॉइड डिवाइस नहीं हैं –

5
libjpeg-टर्बो बंदरगाह कि मैंने किया था (और अब भी पर काम कर रहा हूँ) के लिए

वहाँ निम्नलिखित बातों पर विचार करने के लिए:

अनुदेश सेट (ARMv6, ARMv7), SIMD (के साथ या बिना नियोन)

Libjpeg-turbo वास्तव में NEON के साथ armv7 पर चमकता है। नीयन हाथ का सिम समर्थन है।

Tegra, Tegra2 नियोन नहीं है, लेकिन यह उदाहरण के लिए ARMv7 है। तो libjpeg-turbo अभी एनईओएन समर्थन बंद कर दिया जा सकता है लेकिन अभी भी कुछ armv7 अनुकूलन का उपयोग करें ... यह बस तेज़ नहीं होगा। यह अभी भी libjpeg से तेज़ होगा जो वर्तमान में एंड्रॉइड में पाया जाता है।

एंड्रॉइड चलाने वाले नए फोन में आर्मव 6 चिप्स लगाए जा रहे हैं। विशेष रूप से सस्ता बाजारों के लिए। इसके बजाय एक विस्तृत सूची में शामिल होने के लिए, lib में क्या होने की आवश्यकता है (और यह वर्तमान में मेरे लिए डब्ल्यूआईपी प्रकार की सामग्री है) libjpeg-turbo में विभिन्न armv6 अनुकूलन प्राप्त कर रहा है, इसलिए एंड्रॉइड पर libjpeg-turbo के लिए एक अच्छी कहानी है। बने रहें।