Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Virtual scrolling in the layer tree

Ouverte
#4,627 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
74/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active

Piste de recherche

Start in frontend/src/components/panels/Layers.svelte at lines 567-571 and inspect how layer rows are rendered. Reproduce the problem with 10,000 layers, then verify that only visible rows are created while scrolling remains correct. Done means the layer tree stays responsive and its scrollbar still represents the full layer list.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Performance

With 10_000 layers, the layer tree takes 8s to render. This is obviously somewhat unacceptable.

performance profile showing the svelte layer tree taking 8s

By only creating DOM nodes for the layer rows that are visible (usually 10-20) the performance could be improved and could become independent of the number of layers. Since all of the layer rows are the same height it would be trivial to add a spacer at the top and bottom to ensure the scroll bars remain the correct height.

Working towards #4572.

Relevant code:
https://github.com/GraphiteEditor/Graphite/blob/55c4e6689b3a99e56749280b9694ffac4037c3e7/frontend/src/components/panels/Layers.svelte#L567-L571

Langage dominant
Rust
Étoiles
27.6k
Forks
1.3k
Merge moyen
22 h 50 min
PR mergées (30 j)
143

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de GraphiteEditor/Graphite

Toutes les issues de GraphiteEditor/Graphite

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.