2017-09-14 7 views
7

से बहुत गहरा है, मेरी ऐप की मुख्य स्क्रीन SKCanvasView के माध्यम से प्रस्तुत की जाती है। रंग कोड में निर्दिष्ट मानों को सटीक रूप से प्रतिबिंबित करते हैं।SKGLView SKCanvasView

<!--<skia:SKCanvasView PaintSurface="OnCanvasViewPaintSurface" />--> 
    <skia:SKGLView PaintSurface="OnCanvasViewPaintSurface" /> 

हो रहा क्यों है और कैसे मैं ठीक कार्य करें:

अगर मैं स्वैप में SKGLView (हार्डवेयर-त्वरित संस्करण), कोई अन्य कोड से बदल रहा है, परिणाम 60% गहरा है यह?

+0

क्या आप देख रहे हैं के रूप में 'मेरे लिए कुल समझ में आता है SKGLView' ओपन पर आधारित है:

<item name="android:backgroundDimEnabled">false</item> 

यहाँ एक भंडार है कि इस दर्शाता है और इस प्रकार ज्यामिति प्रकाश खेल में आता है। लेकिन जब एसकेजीएलवी व्यू पर एक प्रतिपादन लूप उजागर किया गया है, तो मुझे नहीं लगता कि "तीव्र" संस्करण में आप प्रकाश स्रोत को नियंत्रित कर सकते हैं, परिवेश प्रकाश मूल्य, जिस दिशा में "डिफ़ॉल्ट प्रकाश स्रोत है, इत्यादि .... क्या क्या ऐसा लगता है कि आप 180 डिग्री सेल्सियस को घुमाते हैं? – SushiHangover

+0

बैटरी उपयोग के रूप में, जो डिवाइस के आधार पर काफी भिन्न हो सकता है, यह सीपीयू बनाम जीपीयू, क्या और कितना चल रहा है और यहां जीएल में सरल ऑब्जेक्ट अनुवाद हैं , बनाम पेंटिंग और डबल बफरिंग, इत्यादि। कैनवास के सभी आधुनिक संस्करणों पर याद रखें, कैनवास पेंटिंग हार्डवेयर तेज है, आईओएस यूआईवीव्स, कोरग्राफिक्स और यूआईकिट ड्राइंग के लिए यह भी सच है। अब उन का लेआउट विचारों को तेज़ नहीं किया जाता है क्योंकि प्रत्येक ओएस का अपना लेआउट मैनेजर होता है (और फॉर्म के शीर्ष पर इसका स्वयं का होता है) – SushiHangover

+0

बैटरी परीक्षण के लिए, एंड्रॉइड के लिए बैटरी स्टैट्स का उपयोग करें, सरल डॉकर आधारित सेटअप। कैनवास का उपयोग करके थोड़ी देर के लिए सामान्य उपयोग परीक्षण चलाएं एक डी इतिहासकारों में परिणाम संग्रहित करें और इसे फिर से जीएल में चलाएं और आप रनों की तुलना कर सकते हैं: https://developer.android.com/studio/profile/battery-historian.html – SushiHangover

उत्तर

2

जवाब यहां पाया जा सकता: https://github.com/mono/SkiaSharp/issues/299#issuecomment-331990904

मैं इस समस्या का हल मिल गया। स्प्लैश स्क्रीन शैली में सेट की गई एक विशिष्ट विशेषता है, लेकिन स्टाइल बदलते समय परेशान नहीं है (किसी कारण से)।

splashscreen शैली में, इस पर ध्यान दें:

<item name="android:backgroundDimEnabled">true</item> 

डॉक्स: https://developer.xamarin.com/api/field/Android.Resource+Attribute.BackgroundDimEnabled

यह सेट नहीं जब शैली स्विच किया गया है नहीं है। तो, यह तय करने के लिए, बस इसे गलत पर सेट: https://github.com/mattleibow/AndroidGLSurfaceViewTests