J'ai récemment obtenu la mise à jour pour le Galaxy S7 à Android 7.0.0 et découvert quelque chose d'étrange.ScriptIntrinsicBlur cassé sur API 24 sur Galaxy S7?
Le ScriptIntrinsicBlur de travail précédent produisait maintenant des résultats partiellement transparents. Les deux sur la version de SupportLibrary ainsi que le natif. Je l'ai dépisté pour dépendre du rayon de flou, où, en général, plus le rayon est grand, moins le résultat est transparent. J'ai donc effectué un test de balayage sur un rayon de 0 à 25 pixels (plage autorisée) sur une image complètement opaque.
Android Emulator API x86 24:
blurRad: 0.025 alpha: 254
...
blurRad: 25.0 alpha: 254
Donc cela crée une certaine transparence pour tous les rayons, mais ne se remarque pas.
Galaxy S7, API 24, Construire: NRD90M.G930FXXU1DQAO:
blurRad: 0.025 alpha: 10
...
blurRad: 0.25 alpha: 110
...
blurRad: 1.0 alpha: 241
Galaxy S7 alpha over blur radius
Pour être complet, je courais le test sur un émulateur de arm64 avec l'API 24, il génère des résultats complètement opaques pour tous les rayons .
Les résultats sont indépendants de la taille du bitmap à brouiller, et de son contenu (tant que l'alpha source est bien sûr 255)
De plus je remarquai que la ScriptIntrinsicBlur est ~ 8-10 fois plus lent qu'avant. Même sur un HTC, je peux flouter une image 400x400px avec 800fps alors que le Galaxy S7 (API 24) n'atteint que 90-100fps. Donc, la question: Quelqu'un peut-il reproduire cela et existe-t-il une solution de contournement?
Pour comparaison: image 400x400px. Natif: 98fps et alpha cassé, RenderScript.forceCompat(): 268fps et alpha travaillant, RenderScript.create (..., CREATE_FLAG_LOW_LATENCY): 497fps, alpha fonctionnant, setprop par défaut-CPU-driver 1 avec le soutien RS: 330fps alpha fonctionnant, setprop par défaut-CPU-driver 1 avec le natif RS: 305fps –