2012-01-09 3 views
5

शायद कुछ मूर्खतापूर्ण चल रहा है, लेकिन मैं एक ऐप्लिकेशन 3.1 को लक्षित, this tutorial प्रति में हार्डवेयर त्वरण सक्षम करने के लिए कोशिश कर रहा हूँ।हार्डवेयर त्वरण सक्षम नहीं किया जा रहा

मैं अपने प्रकट करने के लिए निम्न जोड़ दिया है:

<uses-sdk 
    android:targetSdkVersion="12" 
    android:minSdkVersion="12" /> 

<application 
    ... 
    android:hardwareAccelerated="true"> 

जब मैं हार्डवेयर त्वरण की स्थिति जांचने के बाद देखें (एक ओवरराइड onAttachedToWindow() में isHardwareAccelerated() फोन करके) से जुड़ा हुआ है मैं, सच लौटे कर रहा हूँ ताकि सब अच्छा लग रहा है। समस्या यह है कि SurfaceView के कैनवास को तेज़ नहीं किया जा रहा है, क्योंकि canvas.isHardwareAccelerated() झूठी रिटर्न देता है। मैं surfaceCreated() में जांच कर रहा हूं, और मैं वहां भी सच हूं, इसलिए कोई विचार नहीं है कि कैनवास इस सेटिंग को खो रहा है।

कोई बात नहीं?

EDIT1:

मिले this और this Google Developers समूह पर है, लेकिन मैं वास्तव में जाँच कर रहा हूँ के बाद देखें अगर मैं onAttachedToWindow() में यह जाँच कर रहा हूँ सही जुड़ा हुआ है,? यह 3.1 बीटीडब्ल्यू चल रहे लेनोवो टैबलेट पर है।

EDIT2:

मैं

<application 
    ... 
    android:hardwareAccelerated="false"> 

की स्थापना के माध्यम से त्वरण को अक्षम करने की कोशिश की है और मैं अभी भी सच onAttachedToWindow() में देखें से लौटे देख रहा हूँ, इसलिए कुछ यहीं नहीं है। मैं स्पष्ट रूप से कोड से hw accel chanbing नहीं कर रहा हूँ, शायद एक डिवाइस विशिष्ट मुद्दा?

इसके अलावा, मैं निम्न पंक्ति कई मायनों LogCat में देख रहा हूँ जब SurfaceView बनाई गई है:

surface (identity=524) is invalid, err=-19 (No such device) 

EDIT3:

बस ज़ोर से यहाँ से बाहर सोच, लेकिन वहाँ है कि कैनवास नहीं है किसी भी मौका है तथ्य यह है कि यह अपने स्वयं के धागे पर है, ठेठ SurfaceView कार्यान्वयन के माध्यम से जो लूनर लैंडर की तरह एक ड्राइंग लूप का उपयोग करता है?

उत्तर

4

यह व्यवहार की उम्मीद है। SurfaceView हार्डवेयर त्वरित नहीं है। (link)

एंड्रॉइड 4.0 के बाद से एक नया TextureView है (यहां एक example है)।
पूर्व 4.0 उपलब्धता के लिए भी इस अतः question देखें।

अद्यतन: बस Android 4.0 और TextureView कैनवास के साथ एक ट्रांसफार्मर पर परीक्षण HW नहीं या तो त्वरित है। : -/

अद्यतन Android 6.0: https://developer.android.com/reference/android/view/Surface.html#lockHardwareCanvas()

: हार्डवेयर त्वरण के लिए एक नई पद्धति है