Blenderの彫刻モードの最適化における最も重要な課題の一つは、システムリソースの管理を改善することでした。以前は、同時プロセスの実行におけるロックが大幅なパフォーマンス損失を引き起こしていました。新しい最適化により、これらの問題は排除され、より流暢で応答性の高い彫刻体験を提供します。
デジタル彫刻における並行処理の影響
現代のシステムは、複数のタスクを並行して実行できるマルチコアプロセッサを備えています。しかし、以前のBlenderバージョンでは、ブラシ評価プロセスがこの同時実行に対して十分に最適化されておらず、以下を引き起こしていました:
- パフォーマンスを低下させる処理スレッド間の競合。
- 共有メモリ管理でのロック。
- ブラシ適用時の待ち時間の増加。
「効率的なシステムとは、タスクを競合なく分散し、ハードウェアリソースを最大限に活用するものです。」
ボトルネックの特定
パフォーマンス分析により、ブラシの計算時間の最大60%がメモリアクセス待ちに費やされていることが明らかになりました。これは元に戻す(undo)システムのロックによるもので、ソフトウェアの応答を劇的に遅くしていました。
データ構造の改善
この問題を解決するため、元に戻すメモリでの線形検索システムをハッシュテーブルベースのデータ構造に置き換えました。この変更により:
- 大量のデータを走査せずに情報を瞬時にアクセス可能になりました。
- 処理スレッドの待ち時間を削減。
- ブラシの応答速度を大幅に向上。
メモリでの競合削減
検出された別の問題は、メモリカウンタの同時更新に関連していました。以前は、ブラシが元に戻すデータを生成するたびにグローバルカウンタを更新し、スレッド間の競合を引き起こしていました。現在は、全てのスレッドの計算が完了してからメモリ会計を実行し、これらの競合を排除して実行を最適化しています。
共有変数の管理最適化
ブール変数の更新でさえ並行処理の問題を引き起こす可能性がありました。カーソル下の平均法線計算中に複数のスレッドが同時にブール値を変更しようとするのが検出されました。この不要な変数の削除により:
- ブラシ評価の200%のパフォーマンス向上。
- ブラシ適用時のレイテンシ削減。
- 並行タスク実行の安定性向上。
より流暢で中断のない彫刻
これらの最適化により、Blenderのブラシ評価はより高速で効率的になり、アーティストが中断なく作業できるようになりました。これらの改善は現在の性能を最適化するだけでなく、将来の先進的な彫刻ツールのための強固な基盤を確立します。