AdGuard 4.5.8 pour IOS : jusqu'à 30 fois plus rapide
Nous sommes heureux d'apporter de bonnes nouvelles à l'approche de 2025. La mise à jour v4.5.8 est le fameux type sympa qui rend l'application jusqu'à 30 fois plus rapide. Oui, vous avez bien entendu : nous avons travaillé sur le Convertisseur Safari, et maintenant les règles de filtrage d'AdGuard sont converties en règles Safari en seulement 0,5-2 secondes au lieu de 10-30. Vous remarquerez la différence en particulier lors de la mise à jour, de l'activation ou de la désactivation des filtres et de l'activation de la protection.
Pendant ce temps, nous avons trouvé et signalé un problème du côté d'Apple - s'ils le corrigent à l'avenir, le processus deviendra encore plus rapide.
Voyons maintenant comment tout cela fonctionne pour savoir exactement ce que nous avons amélioré.
Les mises à jour des filtres : comment ça marche ?
1. Les nouvelles versions des filtres sont téléchargées
Tout commence par le téléchargement de nouvelles versions de filtres dans l'application AdGuard. Cette partie ne doit pas poser de problème.
2. Les règles sont converties
Ensuite, les règles de filtrage des filtres AdGuard sont converties en règles Safari. C'est ici que nous avons appliqué toutes nos connaissances en matière d'optimisation au convertisseur Safari et réussi à accélérer le processus jusqu'à 30 fois.
Voici la différence en pratique.
Avant :
Après :
3. Les règles sont téléversées dans Safari
Dans cette dernière partie, les choses ne sont pas très positives, car nous sommes confrontés au problème du côté d'Apple.
Pour que Safari puisse appliquer des règles de filtrage, celles-ci sont compilées en DFA et c'est le travail d'un processus d'arrière-plan appelé com.apple.Safari.ContentBlockerLoader
. AdGuard charge les nouvelles règles pour Safari, appelle la fonction reloadContentBlocker et attend le résultat. Pendant ce temps, les utilisateurs voient l'état Les bloqueurs de contenu sont mis à jour... dans l'application.
Le problème est que, pour une raison quelconque, les performances du processus de chargement sont artificiellement limitées sur iOS et iPadOS, au point que la compilation d'un bloqueur de contenu plutôt petit (28Kk règles) peut prendre jusqu'à 6-15 secondes (sur macOS, elle se termine en quelques fractions de seconde). Pour les bloqueurs de contenu plus importants, l'ensemble peut prendre plus de 30 secondes.
Inutile de dire que ce n'est pas bon pour l'interface utilisateur. Mais ce qui est plus important, c'est que cela compromet la fréquence et la rapidité des mises à jour des filtres, ce qui est crucial pour les corrections opportunes et les performances des bloqueurs de publicité.
Pour l'instant, nous avons signalé ce problème à Apple. Voici l'identifiant du ticket dans l'assistant de retour d'information d'Apple : FB16130983. Nous espérons vraiment qu'Apple apportera le correctif en début 2025.
C'est tout pour cette version, n'oubliez pas de mettre à jour votre application pour profiter des changements et partagez vos commentaires sur nos médias sociaux ou dans la section Problèmes de GitHub. Restez en sécurité en ligne et hors ligne.