MolForma

3D描画

ACE–Ala–Glu–NMEで「水素結合を表示」をオンにし、両端のメチル炭素C27・C33の距離を画面に残したところ。H34とO17の間に青い破線、C27–C33に紫の破線と 10.200 Å が出ている

図1 「表示 → 水素結合を表示」の青い破線(H34···O17)と、「選択中の計測を画面に表示」で残した距離(紫の破線、C27–C33)。

カフェインを空間充填(CPK)で表示し、ラベルを消したところ

図2 「表示 → 表示スタイル → 空間充填(CPK)」(カフェイン、ラベルなし)。

通常のCTestは表示サーバーを必要とせず、QPainter経路と編集・候補・Undoを検査します。VTK経路では別途、表示位置とクリック座標、半透明処理、回転時の等値面保持、PNG取得を検査できます。

xvfb-run -a env QT_QPA_PLATFORM=xcb MOLFORMA_REQUIRE_VTK=1 \
  MOLFORMA_RENDER_ARTIFACTS=/tmp/molforma-rendering ./build/test_rendering

描画性能は同じ表示環境・画面サイズ・形状で比較します。次の任意ベンチマークは800×600の画面で1万・5万・10万三角形を回転し、ウォームアップ後30フレームの中央値と95パーセンタイルを表示します。時間はテストの合否には使いません。Xvfb上の値は通常ソフトウェアOpenGLの性能であり、実機GPUの評価には実際の表示環境で実行してください。

MOLFORMA_RENDER_BENCHMARK=1 ./build/test_rendering rotationBenchmark
MOLFORMA_RENDERER=painter MOLFORMA_RENDER_BENCHMARK=1 ./build/test_rendering rotationBenchmark

2026-10-23にNVIDIA GeForce GTX 1060 6GB、NVIDIA 580.178.04、Qt 6.12.0、VTK 9.7.1、xcbで測定しました。正負に色分けした球面、透明度150/255、3原子を使用し、同じビルドのQPainter経路(キャッシュ最適化を含む)と比較しています。VTK経路の約16.7msはこの表示環境の60Hz同期に相当し、GPU単体の処理時間を表すものではありません。

三角形数 QPainter 中央値 VTK 中央値
10,000 22.29ms 16.71ms
50,000 63.17ms 16.72ms
100,000 111.69ms 16.71ms

10万三角形の95パーセンタイルはQPainterが126.60ms、VTKが17.74msでした。形状の重なり、解像度、GPU・ドライバーによって結果は変わります。

関連: 「1 分子」の画面・ツール・選択、「結果ビューア」、「機能と操作」のページの一覧。