Der Hauptbildschirm meiner App wird über SKCanvasView gerendert. Die Farben spiegeln genau die Werte wider, die ich im Code angegeben habe.SKGLView viel dunkler als SKCanvasView
Wenn ich Swap-in SKGLView (Hardware-beschleunigte Version), keinen anderen Code zu ändern, ist das Ergebnis 60% dunkler:
<!--<skia:SKCanvasView PaintSurface="OnCanvasViewPaintSurface" />-->
<skia:SKGLView PaintSurface="OnCanvasViewPaintSurface" />
Warum ist das passiert und wie kann ich das beheben es?
Was Sie sehen, mir macht total Sinn als 'SKGLView' auf OpenGL basiert und damit kommt die Geometriebeleuchtung ins Spiel. Aber während auf SKGLView eine Rendering-Schleife sichtbar ist, sehe ich nicht, wo in der "Sharp" -Version die Lichtquelle, der Umgebungslichtwert, die Richtung, aus der die "Standardlichtquelle" kommt, usw. ... Was? sieht es aus, wenn man die Welt um 180 Grad dreht? – SushiHangover
Was die Batteriebenutzung betrifft, kann das je nach Gerät sehr unterschiedlich sein, CPU gegen GPU, was und wie viel bewegt sich und ob hier einfache Objektübersetzungen im GL sind , vs. das Malen und doppelte Puffern, etc .. eines Canvas.Erinnern Sie sich an alle modernen Versionen von Android, Leinwand Malerei ist hardwarebeschleunigt, das gleiche gilt für iOS UIViews, CoreGraphics und UIKit Zeichnung beschleunigt werden.Noch das Layout von denen Ansichten werden nicht beschleunigt, da jedes Betriebssystem über einen eigenen Layout-Manager verfügt (und Forms hat darüber hinaus eigene) – SushiHangover
Verwenden Sie Batteriestatus für Android, einfaches Docker-basiertes Setup Verwenden Sie Canvas für eine Weile einen normalen Verwendungstest ein d Speichern Sie die Ergebnisse im Historian und führen Sie sie erneut im GL aus. Sie können die Läufe vergleichen: https://developer.android.com/studio/profile/battery-historian.html – SushiHangover