Render Exactness Contract
Viewport Broad-phase CullingはPerformance Optimizationです。
最終Renderの形状を近似する機能ではありません。
Render開始前にはCULLED Unitを正確なStateへ戻します。
その後Runtime Refreshを実行します。
今後さらにGPU Optimizationを追加する場合も、このRender-pre Exact Contractを維持する必要があります。
Legacy Regions
Legacy v0.0.3系のRegion方式を互換機能として保持します。
主なShape ModeはSUPERELLIPSEとFACE_EXACTです。
SUPERELLIPSEはMask Expand、Width Scale、Height Scale、Shape Power、Feather、Minimum Half Sizeなどを使用します。
FACE_EXACTはEvaluated Meshの完全なFace Regionを使用します。
Legacy Modeを新しい主機能へ流用しないことを推奨します。
Demo Structure
Demo Collection名はKJ_ETH_Demoです。
Target Object名はKJ_ETH_Demo_CharacterSphereです。
Occluder Object名はKJ_ETH_Demo_HairCubeです。
Vertex GroupはKJ_Eye_L、KJ_Eye_R、KJ_Brow_L、KJ_Brow_Rです。
Demo Objectはkj_eth_demo_owned Custom Propertyで識別します。
Create Demo中はAuto Updateを一時的にOFFにしてBatch Property Assignmentを行い、apply_setup()を1回だけ実行します。
終了後は短時間のHandler Suppressionを設定します。
Debug Log
Debug Text Datablock名はKJ_ETH_DebugLogです。
DxxxはDemo関連です。
AxxxxはTarget Group Analysisです。
A-BATCHはObject Batch Analysisです。
NxxxxはNode Rebuildです。
ADD-TARGETはIncremental Addです。
HxxxxはDepsgraph Handlerです。
XFORMはTransform Fast Pathです。
GEOM-TARGETEDはGeometry Refreshです。
DEFERはDeferred Geometryです。
HSUSPはHandler Suspend Transactionです。
CULL-REEVALはPersistent Culled Unit Re-evaluationです。
Performance Regressionを評価するときは、Viewportの体感だけでなくTagごとの処理時間も比較します。
v0.3.6 実測Sample
2026年9月13日に取得したSample Logでは、Create Demo Totalは約0.1476秒でした。
Initial Runtime Rebuildは42 Triangleで約0.0996秒でした。
Brow_L 20 Triangleの追加は約0.0301秒でした。
Eye_L 42 Triangleの再追加は約0.0738秒でした。
Eye_R 42 Triangleの追加は約0.1203秒でした。
Brow_R 20 Triangleの追加は約0.0399秒でした。
4 Active Unit時のTransform Handlerは、表示されたSampleで概ね約0.0013~0.0033秒でした。
4 UnitすべてがCULLEDの場合は概ね約0.0002~0.0005秒でした。
4 Unit、124 TriangleのTargeted Geometry Refreshは約0.2070秒でした。
これらは特定PC、特定SceneでのSampleであり一般性能保証値ではありません。
現在のBottleneck評価
Pure TransformのPython Handlerは、v0.3.6時点ですでに低コストです。
4 Target Unit、124 TriangleがACTIVEなMaterial Preview / Rendered Viewで体感が重い場合、次に疑うべき候補はGPU Shader側のPer-pixel Exact Ray / Triangle Evaluationです。
これはDebug Logからの合理的推定であり、GPU Profilerによる直接計測はまだ実施していません。
今後はACTIVE 4 UnitとCULLED 4 UnitのViewport FPSまたはGPU Timingを比較し、Shader Bottleneckであることを確認してから次の最適化へ進むべきです。


コメントを残す