UStaticMesh::InitResources always sets CachedSRRState.bHasPendingInitHint to true

Hi everybody,

I was looking into the UStreamableRenderAsset::LinkStreaming & UStreamableRenderAsset::UnlinkStreaming calls and I found this curious thing:

In 5.2+ StaticMesh.cpp, UStaticMesh::InitResources (as long as GetRenderData() is true) we 100% of the time set CachedSSRState.bHasPendingInitHint = true.

While other StreamableRenderAssets will clear this via UStreamableRenderAsset::HasPendingInitOrStreaming, I’m seeing a non-streaming StaticMesh which never clears this bit. The #if STATS block at the bottom of UStaticMesh::InitResources is already valid without any pendingInitHint required.

I believe we can simplify some of the redundant LinkStreaming & UnlinkStreaming calls, which will help communicate the amount of IO needs per frame across all RenderAssetTypes.

Thanks so much,

  • Jeff :slight_smile: