2015-10-24 1 views
1

Je travaille sur un projet où il y a souvent des milliers d'objets dessinés avec du papier. C'est très lent car paperjs redessine chaque article même quand ils n'ont pas changé. Y a-t-il un moyen d'éviter cela?Paperjs: dessine seulement les objets modifiés

J'ai trouvé this helpful paperjs fork qui résout le problème, mais il ne semble plus être maintenu et il y a quelques problèmes avec le fait de ne pas effacer les éléments correctement. Je me demandais simplement s'il y avait une solution papier 'bonne' que je n'ai pas trouvée, ou devrais-je simplement faire ma propre fourchette.

Pour créer les articles que je utilise:

new Path.Rectangle(start, values.blockSize); 

Ensuite, il suffit de changer sa couleur plus tard.

Here's a fiddle afin que vous puissiez voir comment lent, il obtient au réseau haute tailles

Merci

Répondre

0

Je pense que ma fourchette peut vous aider. J'aurais dû fournir la documentation. Here est le fil où j'explique ce que j'ai changé et comment cela fonctionne (il devrait être possible de fusionner ces changements avec le dernier paper.js).

Et deux exemples: persistance (fondu progressif) et benchmark (cliquez et appuyez sur espace pour voir la différence). Le code est here dans le répertoire des dessins, mais je ne suis pas sûr que vous pouvez le voir.

+0

Merci - J'ai déjà essayé cela et presque là-bas, a juste des problèmes avec les éléments de compensation, plus d'être démodé. Je peux finir par faire ma propre fourche à partir de la vôtre, corriger le bug et ensuite utiliser cela – Abby

+0

Oui, si vous comprenez ce que j'ai changé comme je l'explique dans le fil qui devrait fonctionner. Demandez-moi si vous avez besoin de quoi que ce soit (je suis content que vous trouviez une utilité pour cette fonctionnalité, je pense que c'est une question importante). –

+0

Merci @ arthur.sw. Envisagez-vous de soumettre vos modifications de persistance à paper.js dans une demande d'extraction? – Abby