J'essaie de dessiner environ 4000-10000 segments en utilisant NSBezierPath sur chaque drawRect d'un NSView (environ une boîte de 300x300 pixels). Ceci est très lourd en ressources et prend beaucoup de temps à dessiner (relativement long).Dessin rapide utilisant NSBezierPath dessinant au moins 4000 segments
Quelqu'un peut-il suggérer un substitut pour cela? J'ai essayé d'utiliser un seul NSBezierPath pour 1000 segments à la fois, mais c'est encore trop lourd.
Je cherche des alternatives possibles. Je suis sûr que OpenGL serait plus rapide, mais je ne sais pas si je dois apprendre une nouvelle plate-forme pour faire ce dont j'ai besoin. Je suis ouvert aux suggestions.
300 x 300 = 90000 et 10000 segments ont 20000 points d'extrémité. En supposant que chaque segment est très court, disons 4 pixels, cela ajoute 40000 pixels supplémentaires. Ainsi, 50% ou plus de votre surface de dessin peut être remplie, ce qui semble très encombré. Êtes-vous sûr de ces chiffres? Ai-je tort? –
De votre second paragraphe, je suppose que ces 4000+ chemins peuvent être considérés comme des copies/instances d'une forme, n'est-ce pas? Et les apparences des segments (ou au moins un sous-ensemble d'entre eux) diffèrent-elles les unes des autres? (orientation, taille, aspect visuel, etc.) Plus loin: se chevauchent-ils? Et si oui: l'ordre z est-il important? – Regexident
L'ordre z est important, mais les segments ne sont pas des copies d'une forme. Ce sont de petits segments de ligne (de 4 à 10 pixels de longueur aléatoire). Ils diffèrent par la couleur et l'orientation et défilent dans la vue. Fondamentalement, il s'agit d'un graphe déroulant de droite à gauche ayant plusieurs segments (donc beaucoup de redessins, avec beaucoup de segments.) – David