Optimisation de la concurrence dans l'évaluation des pinceaux de Blender

Publié le 20 January 2026 | Traduit de l'espagnol
Blender améliore l'évaluation des pinceaux avec une exécution plus rapide et efficace, éliminant les blocages en mémoire et optimisant la fluidité de la sculpture numérique.

L'un des défis les plus importants dans l'optimisation du mode de sculpture de Blender a été d'améliorer la gestion des ressources du système. Auparavant, les blocages dans l'exécution de processus simultanés provoquaient une perte considérable de performances. Avec les nouvelles optimisations, ces problèmes ont été éliminés, offrant une expérience de sculpture beaucoup plus fluide et réactive.

L'impact de la concurrence sur la sculpture numérique

Les systèmes modernes disposent de processeurs multinoyaux capables d'exécuter plusieurs tâches en parallèle. Cependant, dans les versions antérieures de Blender, les processus d'évaluation des pinceaux n'étaient pas bien optimisés pour cette exécution simultanée, ce qui provoquait :

« Un système efficace est celui qui distribue les tâches sans générer de conflits, en tirant le meilleur parti des ressources du matériel. »

Identification des goulots d'étranglement

Les analyses de performance ont révélé qu'une part allant jusqu'à 60 % du temps de calcul des pinceaux était dédiée à l'attente d'accès à la mémoire, au lieu de l'exécution des calculs nécessaires. Cela était dû à des blocages dans le système d'annulation (undo), ce qui ralentissait drastiquement la réponse du logiciel.

Améliorations dans la structure de données

Pour résoudre ce problème, le système de recherche linéaire dans la mémoire d'annulation a été remplacé par une structure de données basée sur des tableaux de hachage. Ce changement a permis :

Réduction des conflits en mémoire

Un autre problème détecté était lié à la mise à jour simultanée des compteurs de mémoire. Auparavant, chaque fois qu'un pinceau générait des données d'annulation, une mise à jour d'un compteur global était effectuée, ce qui provoquait des conflits entre threads. Désormais, la comptabilisation de la mémoire s'exécute une fois que tous les threads ont terminé leurs calculs, éliminant ces conflits et optimisant l'exécution.

Optimisation dans la gestion des variables partagées

Même la mise à jour d'une variable booléenne pouvait représenter un problème de concurrence. Il a été détecté que plusieurs threads tentaient de modifier simultanément une valeur booléenne pendant le calcul de la normale moyenne sous le curseur. La suppression de cette variable inutile a résulté en :

Une sculpture plus fluide et sans interruptions

Grâce à ces optimisations, l'évaluation des pinceaux dans Blender est désormais plus rapide et efficace, permettant aux artistes de travailler sans interruptions. Ces améliorations n'optimisent pas seulement les performances actuelles, mais établissent également une base solide pour de futures outils avancés de sculpture.