Magicsのパフォーマンスを最適化するには

Update: 2024.03.14

 

Materialise Magics 3D Print Suiteを最大限に活用するには、最適なハードウェアソフトウェアのバージョン、そして効率的な使い方の3つの重要な要素に注目してください。

 

最適なハードウェア構成

Materialise Magics 3D Print Suiteの各リリースについて、最小(推奨)ハードウェア要件はそれぞれのリリースノート(関連記事を参照)に記載されています。 しかし、エンドユーザーのニーズや期待に応じて、Magicsをさらにスムーズに動作させる、より良いハードウェア要件をお勧めすることもできます。

特に利用可能なメモリと処理能力は、スムーズな操作や操作感を実現するために大きく影響します。 

※ ソフトウェアのシステム要件はこちら、リリースノートはこちらから各リリース情報をご参照ください。

CPU

Magics 3D Print SuiteはMicrosoft Windowsベースのアプリケーションです。最新のWindowsプラットフォームでサポートされている汎用のIntelやAMDのCPUであれば、少なくとも起動して実行することができます

しかし、Magicsは多面的なアプリケーションであり、意図したユーザー体験を提供するために、ランタイムを通して複数のタスクを実行します。異なるタスクは異なる方法で最適化されるため、CPUの異なる能力を利用することができます。

全般

Magics 3D Print Suiteのパフォーマンスに影響を与えるCPUのハードウェア基準には、2つの組み合わせがあります。

  1. クロックスピードとキャッシュのサイズ
  2. コア数とSIMD命令への対応

下記2社のx86アーキテクチャを推奨します。

  • Intel
  • AMD
 
 

クロック速度とキャッシュについて

最近のデスクトップPC向けのCPUは、ハイエンドのグレードではシングルコアの速度が6GHzを超えるようになっており、システム上で大量の同期タスク(バック・トゥ・バック)を高速に処理するのに便利です。MagicsのUIといくつかのインタラクティブな操作は、主にタスクをバック・トゥ・バックで実行するため、より高速なクロック速度を持つCPUは、Magics内部のスムーズなUIとインタラクティブな操作をもたらすはずです。

また、Magicsは多くの異なるタスクを実行するアプリケーションであるため、CPUキャッシュサイズが大きければ、アプリケーションの応答性を維持することもできます。言い換えると強制終了するような局面であっても、キャッシュサイズの大きなCPUの場合は「粘る」ことができ、処理を完了できる可能性が上がるということになります。従って、より高速なクロック速度と、より大きなキャッシュサイズの組み合わせを持つCPUは、アプリケーションのパフォーマンスを向上させることができます。

 
 

マルチコアCPUとSIMD命令について

多くのコアを持つCPUは並列化可能なプログラムで大量のデータを処理する際に便利で、1つのコアで実行するよりも短い時間でタスクを実行できます。Magicsでは、CPUの複数のコアを使用して、三角メッシュを含む計算をさまざまな処理で実行し、処理時間を高速化します。

マルチコアを利用できる場合、三角メッシュの演算では、通常、可能な限り最適にタスクを実行するために、システム上に可能な限り多くのコアを割り当てます。マルチコアに加えて、CPUがAVX-512のような最新のSIMD命令をサポートしていれば、演算をさらに高速化することができます。

【注意】マルチコアCPU(1つのCPU内に複数のコアがある)には対応しておりますが、マルチCPU(1台のPC内に物理的に複数のCPUがある)には対応しておりません。

コア数について

コア数を増やすと性能が向上する可能性はありますが、必ずしも直線的に性能が向上するわけではありません。コア数が16コアを超える場合、性能の向上が顕著になるのは三角メッシュの数が非常に多いパーツに限られるでしょう。

 

Pコア(Performance)とEコア(Efficient)について

第12世代以降のIntel CPUは、Pコア(高速処理が得意な高性能コア)とEコア(省電力動作が得意な高効率コア)という、異なる仕様のコアを持つマルチコア・アーキテクチャで構成されています。省電力のためEコアはPコアよりもクロック速度が遅く設定されているのですが、演算処理をする場合、演算の一部を実行する最も遅いコアによって演算時間が制限されるため、高速処理という点では悪影響を及ぼす可能性があります。

この場合、Magics 3D Print Suiteのパフォーマンスを向上させるためには、より多くのPコアを持つIntel CPUを使用してシステム全体の計算能力を高めることをお勧めします。

 
 
 
 
 

メインメモリ(RAM)

Magicsは主に三角メッシュを扱うため、効率的に機能するためには大きなメモリ容量を必要とすることがあり、非常にメモリ集約的なアプリケーションです。したがって、一般的にMagicsアプリケーションにはシステムメモリが多い方が適しています。

一般的な推奨事項

必要なメモリ容量は16GBが最低ラインですが、大量のメッシュを扱う場合や、多数のパーツとサポートをひとつのプラットフォームに並べるといった大規模なビルドを準備する場合には、32GB以上のメモリを使用したほうが、より良い経験ができます。

 
 

一般的な落とし穴

メインメモリにはDDR5やDDR4などの規格に加え様々な速度がありますが、高速なメモリはより高価であり、対応する本体もより高価になります。しかしながらメモリ速度の向上による Magics アプリケーションへの影響は最小限であり、むしろメモリ容量に注目してください。

1台のPCで複数のアプリケーションを同時に実行すると、Magics が最適に動作するために使うことのできるメモリ容量が減少します。

Magicsが極端な速度低下を起こすとした場合、その主な理由の1つは、メインメモリが完全に飽和(=使い過ぎ)し、システムがアプリケーションメモリをSSD/HDDに書き込み始める場合です。メインメモリが飽和しているかどうかを観察するためには、速度低下が発生したときにタスクマネージャの統計情報を調べるとよいでしょう。メインメモリが飽和していると、通常、メモリ使用率が95%を超え、ディスク使用率が80%以上と異常に高い状態が長時間続きます。メインメモリが頻繁に飽和している場合は、おそらく現在システム内にある実メモリよりも多くのメモリ容量が必要であり、より良いエクスペリエンスを得るためにメインメモリを増設する必要があることを意味します。

またオンボードグラフィックス(次の項目「グラフィックボード」を参照)を搭載したCPUやシステムを使用している場合、通常、メインメモリの一部をグラフィックメモリとして使用します。そのため、このようなシステムでは、パーツの読み込み、データの演算処理、3Dモデルの表示などの動作において、より多くのメインメモリを必要とする場合があることにご注意ください。

 
 
 
 

グラフィックボード

Magicsは3Dモデルを表示するためにグラフィックボードと呼ばれるハードウェアを使用します。このハードウェアは、他にビデオカードと呼ばれることもあります。時にはGPUと呼ばれることもありますが、本来GPUとはグラフィックボードのプロセッシングユニットのことを指すものです。

 Magicsは、いわゆるグラフィックスAPI(Vulkan、Direct3D、Metal、OpenGLのようなグラフィカルアプリケーションプログラミングインタフェース)を使って動作するように開発されていて、グラフィックボードに3Dモデルをレンダリングさせます。使用されるAPIは特定のメーカーに特化したものではなく、三角メッシュやその他の情報をGPUに渡すための汎用的な機能を提供します。

ハードウェアとソフトウェアの相互作用は非常に複雑であるため、どのようなグラフィックボードにおいてもパフォーマンスを予測するのは困難ですが、マテリアライズでは下記の2種類のチップセットを推奨しています。

  • NVIDIA GeForce RTX
  • AMD Radeon RX

この2種類は、いわゆるゲーム向けで、コストパフォーマンスやドライバのサポートも充実しており、デスクトップPC用だけでなくラップトップPC用もあります。多くのバリエーション(世代、メーカー、ブランド、ビデオメモリの容量や種類、GPUなど)があるため、すべての選択肢を網羅することはできないのですが、一般的な注意点は下記のようになります。

全般

システム環境に記載の通り、下記3点を満たす必要があります。

  • 少なくともDirectX 11.1に対応していること
  • 少なくとも2GBのVRAMを搭載していること
  • 少なくとも256bitのメモリインターフェイス幅

よりパフォーマンスを最適化したい場合は、下記を満たす必要があります。

  • VulkanおよびDirectX 12に対応していること
  • 少なくとも4GBのVRAMを搭載していること

通常VRAMは最も重要な要素です。アプリケーションがスムーズに動作するためには、すべてのデータがグラフィックボードのVRAM(ビデオメモリ)に収まる必要があります。VRAMが1GBあれば、数百万の三角メッシュをスムーズに処理することができます。それ以上(1,000万~3,000万)になると、少なくともVRAM 2GBが必要になります。

本稿執筆時点では、最大8GBまたは16GBのVRAMを搭載したグラフィックボードを比較的安価で購入することができます。本当に必要であれば最大48GBのVRAMを搭載したグラフィックボードも入手することができますが、価格はかなり高くなるため、コストパフォーマンスを考慮したほうがいいかもしれません。

グラフィックドライバの品質とグラフィックボードの適合性はここ10年で向上しており、グラフィックドライバに関連した問題は少なくなっています。しかしながら、歴史的にNVIDIA QuadroATI / AMD FireGLATI / AMD FireProIntelのオンボードグラフィックス(Intel HD / Intel Iris / Intel Xe等、統合グラフィックとも呼ばれる)で最も多くの問題が発生しているため、私達は今でもこれらをお勧めしません。

【注意】これら一連の推奨は保証ではありません。史上最高のグラフィックボードであっても、特定のハードウェアとの互換性が確保されない場合があります。

 

最適化 API 主な用途 グラフィックボード CUDAコア 備考

◎ Direct X

◯ OpenGL

3Dゲーム、  
3D CG、
NVIDIA GeForce RTX  
NVIDIA GeForce GTX GeForce RTXの旧シリーズ名
AMD Radeon RX ×  

◯ Direct X

◎ OpenGL

3D CAD、          
3D CG、  
動画編集、
NVIDIA RTX  
NVIDIA Quadro RTXの旧シリーズ名
AMD Radeon PRO ×  

 

 
 

グラフィックボード2枚挿しについて

本稿執筆時点では、マテリアライズソフトウェアのほとんどは1つのGPUを使い、3Dモデルの表示のみに使用しています。そのためNVIDIA SLIやAMD CrossFire等のようなマルチGPUシステム(グラフィックボードを2つ使用するシステム)は、恐らく何のメリットもありません。

グラフィックボード2枚挿しよりも、よりハイエンドなグラフィックボードにアップグレードするほうが効果が見込めます。

 
 

CUDAコアについて

NVIDIA社のGPUを構成するコアの一つです。CUDA(クーダ)コアと呼ばれ、GPUの処理能力を画像処理以外に使用するGPGPUという技術を利用する際に重要な要素となります。

e-Stage for Metal+はCUDAコアに最適化されており、計算のパフォーマンスはCUDAコアの数を増やすことで向上します。NVIDIA GeForce RTXにもNVIDIA RTXにもCUDAコアは搭載されていますが、GeForce RTXのほうに、より多く搭載されています。

 
 

Tensorコアについて

NVIDIA社のGPUを構成するコアの一つです。現在のところTensor(テンサー)コアを使用していません。

 
 

RTコアについて

NVIDIA社のGPUを構成するコアの一つです。現在のところRT(レイトレーシング)コアを使用していません。

 
 

デスクトップPC?ラップトップPC?

NVIDIA GeForce RTXもAMD Radeon RXも、どちらもデスクトップ用とラップトップ用の製品があります。言い換えると、見た目の製品名や型番は同じだけど性能の異なる別製品がある、ということに注意してください。

仮に同じ製品名や型番のグラフィックボードだった場合、デスクトップ用のほうが、より高性能になります。

 
 
 
 
 
 

ソフトウェアのバージョン

互換性と(最新の)アップデートの面で、最適な組み合わせを確保することが重要です。 

Materialise 3D Print Suite

Magicsのリリース毎に更なる改良が加えられ、常にパフォーマンスが向上しています。 そのため、常に製品の最新のメジャーバージョンにアップグレードするか、最低でもメジャーバージョンの最新のメンテナンスリリースにアップグレードすることをお勧めします。 

各ソフトウェアのバージョンにはプロダクトライフサイクルが設定されており、ライフサイクルが終了すると技術サポートやソフトウェアのメンテナンスリリースを受けられなくなるだけでなく、ソフトウェアの正常な動作が保証されなくなることに留意してください。

Magicsは他のMaterialise製品と組み合わせて使用されます。これらの製品はすべて、Magicsのバージョンとの互換性が宣言されている最新バージョンを使用することをお勧めします(MatConvert、e-Stage、SImulationモジュール、Build Processor System、...など)。

Magicsまたは関連コンポーネントをアップグレードする際は、すべてのライセンスが整っていることを確認してください。 ヘルプが必要な場合は、こちらをご参照ください:

ライセンスの再アクティブ化

 
 
 

OS

Magics 3D Print Suiteを正しいWindows OSで実行することが重要です。 必要なオペレーティングシステムは、各ソフトウェアのバージョン毎のリリースノートに記載されています。 

Materialiseソフトウェアは、Microsoft社がそのOSのサポートを終了した時点から、オペレーティングシステムまたはオペレーティングシステムの特定のバージョンのサポートを終了することにご注意ください。詳細はこちらをご参照ください。

 
 

ドライバ

ドライバを常に最新の状態に保つことは重要です。特にグラフィックボードのドライバーを最新の状態に保つことは非常に重要で、グラフィックボードのメーカーのサイトから入手することができます。

NVIDIA           
https://www.nvidia.com/Download/index.aspx?lang=ja-jp

AMD           
https://www.amd.com/en/support

※ PCのメーカーによっては、そのメーカーが独自に配布しているグラフィックボードのドライバの使用を推奨している場合があります。詳細は、お使いのPCのマニュアル等をご参照ください。

※ CUDAコアをご利用いただくには、別途CUDAコアのドライバが必要になります。

 
 
 
 

効率的な使い方

ワークフローを最適化するためには、ソフトウェアをどのように設定しどのように使用するかが重要です。いくつかのTipsを下記にご紹介します。

ファイルフォーマットとデータのサイズ

パフォーマンスをさらに最適化するためには「軽い」データ形式を使用し、データサイズをコントロールしながら、適切なバランスを見つけることが重要です。

  • ファイルフォーマット           
    すべてのファイルフォーマットには長所と短所があります。各ファイルフォーマットは、情報を保存するために1つまたは複数のデータ・タイプを使用しています。 ワークフローのどの段階にいるかによって、異なるデータ・タイプを使用することをお勧め(または必要)する場合もあります。           
     
  • データサイズ           
    データサイズとメモリの消費量そしてプロセッサの占有は密接に関係しているため、データサイズはパフォーマンスに大きく影響します。 ジオメトリの精度を落とさずにデータサイズを小さくすることが理想的です。

 

どのデータ・タイプやフォーマットを使うのか?

Magicsは様々な種類のデータとファイルフォーマットをネイティブでサポートし、インポートあるいはエクスポート時にはさらに多くの種類のデータとファイルフォーマットをサポートします。

一般的に、MagicsのジオメトリはBREPまたは三角メッシュとして表現されます。 さらにストラクチャ(ビーム)、画像(テクスチャマッピング)、パラメトリックなサポート構造体など、より特殊なデータ・タイプもサポートしています。

CADファイルが利用できる場合は、形状を三角メッシュに変換するのではなく、STEPなどのBREPデータを、BREPパーツシーンを使用してデータ準備することをお勧めします。そうすることでCAD機能でのパラメトリックなパーツ編集が可能になり、より高速で、編集時に三角の粗密を考慮する必要がなくなります。

BREPパーツシーンからプラットフォームシーンにデータを取り込む際には、三角メッシュに変換する必要があります。

データ準備段階においては基本的にMagicsプロジェクトファイル(*.magics)で保存して運用されることをお薦めします。パーツやサポートをSTLに保存するのに比べ1/6くらいのデータサイズに圧縮されるためストレージを圧迫せず、作業途中でも作業後でもパーツとサポートがバラバラにならず、STL変換する前に保存していればサポートを再編集することもできます。またインポートしたBREPパーツも内包することができます。データ保管も、Magicsプロジェクトファイルを保存しておけば、必要時にSTLで出力したりパーツやサポートを再編集したりすることができるので、お薦めです。

 
 

三角数を削減(データサイズの最適化)

メッシュベースのデータフォーマットやデータ・タイプでは、三角メッシュの数に応じてデータのサイズが決まり、ファイルサイズが大きくなるとメモリの消費量やプロセッサへの負荷も拡大します。 そのため、よりスムーズな操作感を得るためには、三角メッシュの数をコントロールすることをお勧めします。  Magicsはソフトウェア全体で元形状への許容誤差と角度を使用しており、これにより三角メッシュの数を調整することができます。 これらのパラメータに現実的な値を指定することは、データのサイズをコントロールするうえで重要な役割を果たします。

データサイズが極端に大きい場合、必要な精度や期待される精度を損なうことなく、余分な三角形を削除できるかどうかを確認するために三角形 削減コマンドをお試しいただくことをお薦めします。

直感に反するかもしれませんが、三角メッシュの数を減らすことでパーツの品質が「上がる」ことがあります。例えば正方形の(平らな)平面は最小構成の場合は2枚の三角メッシュで表現されますが、これは、小さな1,000枚の三角形で平面を表現するよりも正確で正しい三角メッシュの平面になります。

 

データのサイズをコントロールする他の方法としてバーチャルコピーの概念があります。 1つのマスターパーツ(パーツシーンで編集可能なパーツ)を持ち、プラットフォームシーンで10個のバーチャルコピーを使用することは、プラットフォームシーンで10個の実際のパーツのコピー(10個の同じマスターパーツ)を持つことに比べて、かなり効率的になります。

 
 
 
 

フローティングライセンス

マテリアライズソフトウェアの動作が遅くなる原因の1つに、アクティブまたは不要になったフローティングライセンスサーバに接続されているという場合があります。

ノードロックライセンスとフローティングライセンスを混在してお使いいただいている場合で、ローカルにノードロックライセンスがあり、フローティングライセンスを使用しないクライアントPCからは、フローティングライセンスサーバーへの接続をすべて削除することをお勧めします。

フローティング ライセンスのみの場合は、ライセンスウィザードにリストされているすべてのフローティングライセンスサーバーが問題なく稼働していて、フローティングライセンスサーバーとして正しく設定されていることを確認してください。もしも有効でないサーバー(例:かつて使っていたが現在は存在しないサーバー等)がリストに表示されている場合は、リストから削除してください。この場合、基本的には、ローカルのMagics アプリケーションにフローティングライセンス サーバをひとつだけ設定するのが理想的です。

 
 
 
 

 

この記事はお役に立ちましたか?

もし該当する記事が見つからない場合は、

サポート窓口までお問い合わせください。