TMDb Helper est lent?

@lesalkodiques

Updated on:

Nous sommes plusieurs a utiliser l’addon TMDb Helper. Certains (plusieurs) skins imposent même son utilisation puisqu’ils en font une dépendance obligatoire au fonctionnement de l’habillage…

Les widget sont tellement attrayants via TMDb Helper hein! Et les options sont géniales lorsqu’on se met a naviguer a l’intérieur de l’adon.

MAIS: Qui ne s’est pas déjà posé la question:

Mais pourquoi mes widgets TMDb Helper sont si lent a afficher!!??!!

Premièrement, les options énumérées ci-bas vont ralentir le chargement des nouveaux éléments qui n’ont pas encore été mis en cache.

Du plus demandant au moins demandant on retrouve:

  • Clés API > Utiliser fanart.tv (toutes les options)
  • Général > Obtenez des détails et des illustrations supplémentaires de TMDb
  • Comptes > Obtenez des indicateurs vus de Trakt
  • Général > Obtenez des détails supplémentaires à partir de la base de données de la bibliothèque Kodi locale

(Ces éléments sont tous réglables dans les paramètres de l’addon TMDb Helper, tel que démontré sur cette écran)

Quelques faits:

  • Fanart.TV est un site Web qui est très lent au départ.. et si vous n’avez pas de clé VIP, il est encore plus lent (parfois une requête peut prendre jusqu’à ~800 ms).
  • TMDb est plus rapide. Cependant, même sur une machine rapide (i7+SSD+Cable), la requête enregistre toujours un retour d’environ 400 ms pour une seule requête à l’API TMDb. Donc, juste pour afficher une liste de films, les détails de TMDb ajoutent 20 demandes (car 20 éléments par page sont affiché)

Maintenant, Si vous possédez une Box (ou clé) Android bon marché, et bien le malheur est qu’elles sont nulles pour les requêtes multiples (multithreading), cela va prendre au moins 8 secondes où TMDb Helper attend simplement les données du site Web. 😯

Ajoutez fanart.tv en plus de cela avec un compte non-VIP et il est assez facile de voir comment on peut atteindre 20 secondes facilement pour une liste de 20 éléments sur une Box (ou clé) Android bon marché.

 Le problème No.1 est donc la rapidité des requêtes.

Quelques calculs:

  • Nous savons qu’une simple requête au site Web TMDb représente un aller-retour d’environ 400ms dans le meilleur des cas.
  • Si nous prenons une moyenne réaliste de 500ms par requête, cela fait 8 secondes sur une liste de 20 éléments uniquement pour les données TMDb(je mentionne 20 éléments, car il s’agit du nombre d’éléments par défaut affichée sur une page dans TMDb Helper)

Pourquoi c’est plus rapide sous PC que sous Android?

Sur un PC, le processeur prend en charge le multithreading afin que les requêtes puissent s’exécuter en parallèle, ce qui accélère considérablement les choses car nous ne perdons pas de temps à attendre le retour des données.

Cependant, sous Android (et appareils mobiles), le processeur ne prend généralement pas en charge le multithreading, de sorte que les demandes sont obligées de se produire en série une à la fois.

C’est le type de processeur utilisé, et non pas la plate-forme Android en soi qui fait en sorte que les délais d’affichage sont plus long que sous PC.

  • Peu importe la puissance du processeur, s’il ne peut pas traiter les requêtes parallèles, il faut attendre que le serveur réponde avec les données pour chaque appel avant de passer à l’instruction suivante. Ainsi, la puissance de traitement ne peut pas amener un serveur à fournir une requête plus rapidement.

Conclusion:

Avant de s’emballer et d’intégrer une panoplies de widgets tous plus clinquants les uns que les autres sur votre page d’accueil, pensez-y à 2 fois…

  • Est-ce vraiment nécessaire?
  • Est-ce que j’ai vraiment besoin d’activer tous ces paramètres Extras à l’intérieur de l’addon?
  • Est-ce que le  »Tape a l’oeil est plus impoirtant pour moi que l’expérience utilisateur en général?

Pourquoi ne pas remplacer les widgets TMDb Helper par des éléments de ma médiathèque locale ? … L’affichage d’éléments présents en médiathèque est INSTANTANÉ!

Ne vaudrait-il pas la peine de passer du temps a apprendre comment utiliser kodi à son plein potentiel, plutôt que de le passer a essayer en vain de gagner de la fluidité avec des éléments qui doivent oibligatoirement faire appel a internet??

Je sais, ça fait beaucoup de questions…

Mais essayez d’y penser