2ec0b4 / kaamelott-soundboard

Ou : chante Sloubi. Nous, on va faire que la soundboard de Kaamelott.

Home Page:https://kaamelott-soundboard.2ec0b4.fr/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Performances recherches / construction de la liste

pabuisson opened this issue · comments

Bonjour bonjour,

Ces temps-ci, je suis venu assez souvent sur le site, et j'ai pu remarquer qu'avec l'augmentation du nombre de sons, la recherche commence à être peu réactive, c'est en particulier sensible sur mobile. Je commence à taper, la première lettre s'affiche, ça bloque, et ensuite la fin de ce que j'ai tapé s'affiche subitement.

J'ai jeté un oeil au code derrière et, bien que ne connaissant pas backbone, le problème semble venir de la façon dont la liste de sons est créée : lorsqu'on filtre, tous les sons visibles sont détruits, puis ceux qui doivent être affichés après filtrage sont recréés. Sur une liste de 600+ sons, ça semble être trop... et plus on ajoutera de sons, pire ce sera.

Des choses ont déjà été envisagées pour améliorer les perfs ? J'ai en tête :

  • Paginer les items et charger les pages au scroll (pour en charger/construire moins d'un coup),
  • Débouncer la recherche,
  • Mettre à jour certaines dépendances peut-être ?
  • Ou carrément revoir la façon dont la collection de sons est filtrée ?

Je peux envisager de faire quelques PR dans les semaines qui viennent si vous êtes partants.

Une image valant 1000 mots, voici un enregistrement de mon écran durant une recherche sur le site :

MNML-October1-055154PM-1

J'ai pas l'historique du projet mais juste faire le debouncer me semble être assez rapide à mettre en place avec un minimum d'effort, à voir si ça améliorer assez les performances.

J'ai pas l'historique du projet mais juste faire le debouncer me semble être assez rapide à mettre en place avec un minimum d'effort, à voir si ça améliorer assez les performances.

J'avais commencé à le faire, ça semblait effectivement simple même sans connaissance de Backbone, je peux toujours faire une PR

En effet, avec le nombre maintenant important de sons, la recherche est impactée.
C'est Hacktoberfest, les PR sont encouragées 😊