HoudiniEngineForUnreal icon indicating copy to clipboard operation
HoudiniEngineForUnreal copied to clipboard

PostCook causing delays in new mesh displaying

Open KevinCalderone opened this issue 8 months ago • 1 comments

Problem

When a cook completes, the GameThread read back the new mesh data from the Houdini process, processes the data, and then uploads the processed data to the RenderThread to be rendered.

When testing this with an HDA that generates a reasonably sized mesh (~70k triangles), this step in the process takes ~170ms which is slower than I would expect.

Unreal Insights

Here is a capture of this using Unreal Insights with additional profiling scopes: image

Suggestions

Here are some suggestions that would remove ~100ms from this critical path of the new mesh getting displayed.

FHoudiniEngine::UpdateCookingNotifications

  • This appears to be creating the cook completed UI notification.
  • Could this be deferred to the next frame?

FHoudiniEngineUtils::UpdateEditorProperties_Internal

  • This appears to be getting executed twice redundantly?
  • Can one of these calls be eliminated?

FHoudiniParameterTranslator::UpdateParmeters

  • This appears to be updating all the values displayed in the parameters panel to ensure they are displaying correctly?
  • Could this be deferred to the next frame?

KevinCalderone avatar Jun 21 '24 19:06 KevinCalderone