SurfaceView / TextureView / GLSurfaceView
Bonjour,
je développe une application Android (min 4.4) (JAVA/Android Studio) qui doit "faire défiler" une image panoramique 360° à des vitesse différentes.
J'ai dans un premier temps réaliser cela avec une SurfaceView + Thread en chargeant une BitMaP dans laquelle se trouve l'image à laquelle j'ai ajouté
à droite une répétition de la zone de gauche. Ainsi avec un canvas.drawBitmap(bmp, src , dst, opkpaint) et en faisant varier la zone "src" cela fonctionne très bien
sur certaine plateforme hardware (genre TV box RK3188+MALI400) (FPS : 60 très très stable).
Par contre sur d'autre hardware notamment sur un RK3288 + MALI T760 (pourtant 50% plus performant sur le papier) cela saccade, et le FPS n'est pas
stable. Je fais quelques recherche et trouve que TextureView devrait apporter de meilleur performances que SurfaceView sans trop d'adaptation à réaliser.
En effet cela est légèrement meilleur mais sans être totalement satisfaisant. Dès lors je passe sous OpenGL 3D avec un GLSurfaceView. Cette fois l'adaptation est
totalement différente et je passé par une texture2D et toutes l'artillerie OpenGl pour juste afficher un BMP ! Le résultat n'est pas meilleur qu'avec TextView....
quelle déception croyant que c'était LA solution.
Bref. que me conseillez-vous comme principe de base pour réaliser cette fonction d'affichage BMP sur toute la surface de l'écran.
Comment par exemple régler le FPS indépendamment de la fréquence d'affichage de base pour par exemple n'être qu'a 30FPS mais stable (pas d'effet saccadé).
Merci pour vos idées ...