TouchDesigner / TouchEngine-UE-Samples

A sample project relying on the TouchEngine-UE plugin.
Other
63 stars 6 forks source link

UESample05_SingleSampleChannels and PointGenerator example needs to be Profiled to understand where is the performance hit coming from on the CPU #24

Closed jetXS closed 3 years ago

jetXS commented 3 years ago

Those 2 examples are pretty lightweight on the CPU on TouchDesigner / TouchEngine end.

It shouldn't be that heavy on the CPU to just sample those channels/samples.

Can we spend little time and find what is the performance hit on Unreal side, if it's from a Blueprint, or the Plugin, or TouchEngine.dll ?

Thanks

ddthejj commented 3 years ago

So this is a bit difficult to read, but a quick synopsis of what's happening here is that the cubes and the engine object are taking a long time on their tick, which is fairly normal if you have upwards of 1000 objects all moving at once. I'll try to cut down on their usage to get the framerate up image

ddthejj commented 3 years ago

minor optimizations done in b323429d38ea56f11e74769e7c1f7a276c1c6235. This performance hit is the natural result of looping through 1000 objects every frame.

jetXS commented 3 years ago

What would be the best workflow in UE land to render a lot of moving objects (that are all instances of the same one / same model) ? If I look at the blueprint, it looks like it's using static meshes for BP Orbiter Cubes (lower cost in that graph you've put but still... ) - correct me if I am wrong here, trying to understand!

A quick google search brought me to the equivalent of instances in TD here https://youtu.be/oMIbV2rQO4k

Which would look a bit more like that, in the BP, I guess ? Can we do a copy of the blueprint and modify it to give it a try ?

image

Thanks

ddthejj commented 3 years ago

using instanced static mesh component in 09efdeefc50cd05fe2c2a0603fd4239f7247d0f7

jetXS commented 3 years ago

Great thanks