[虚幻引擎] UStaticMeshComponent、UProceduralMeshComponent、UDynamicMeshComponent 在 Runtime 中生成模型的性能比较

在虚幻5里面如果想在Runtime中生成模型并显示,那UE有几个自带的组件都可以生成模型。

其中就有 UStaticMeshComponent(SMC)、UProceduralMeshComponent(PMC)、UDynamicMeshComponent(DMC)。

在其他很多文章中对这3个都有比较,大部分都是说DMC绘画效率比PMC绘画效率高,但是在我实例测试中,效率 SMC > PMC > DMC。 SMC是绘画最快的,DMC是绘画最慢的。

在模型所有数据的相同的情况下:点数量 1442401, 面数量 2880000


SMC 生成时间 16秒, 绘画GPU时间12毫秒


PMC 生成时间 4秒, GPU时间21毫秒


DMC 生成时间 5秒, GPU时间24毫秒

并且PMC和DMC在计算碰撞的时候都可以开启异步计算,如果开启异步计算碰撞,PMC的生成时间只有0.2秒,而DMC还是需要1.2秒。

也就说明DMC不管是生成时间还是绘画效率都没有PMC块,DMC唯一的好处就是UE官方出了很多操作函数,可自定义性,可操作性比PMC强很多。

本测试是基于 5.2.1 版本测试

测试代码下载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在PyTorch使用ONNX Runtime运行ONNX模型,需要安装ONNX Runtime包。 安装ONNX Runtime: ``` pip install onnxruntime ``` 在Python加载ONNX模型: ```python import onnxruntime as ort # Load model model_path = 'model.onnx' ort_session = ort.InferenceSession(model_path) # Input shape input_shape = ort_session.get_inputs()[0].shape # Input name input_name = ort_session.get_inputs()[0].name # Output name output_name = ort_session.get_outputs()[0].name # Input data import numpy as np input_data = np.ones(input_shape, dtype=np.float32) # Run inference output_data = ort_session.run([output_name], {input_name: input_data})[0] ``` 首先,我们导入onnxruntime包并加载ONNX模型。我们使用ort.InferenceSession()方法创建一个会话对象。然后使用ort_session.get_inputs()和ort_session.get_outputs()方法来获取输入和输出的元数据信息,这将帮助我们准备输入和输出数据。 在本例,我们首先检索输入的形状,然后检索输入和输出的名称。接下来,我们为输入数据创建具有正确形状的numpy数组,并将其传递给run()方法以获取任意数量的输出。 最后,我们得到输出数据和格式化输出,以便在屏幕上获取矩阵的值。 ONNX Runtime提供了多种推理选项以优化性能和内存使用。可以使用以下代码设置性能和优化选项: ```python # Options ort_session.set_providers(['CPUExecutionProvider']) ort_session.set_providers(['CUDAExecutionProvider']) ort_session.set_providers(['TensorrtExecutionProvider']) ort_session.set_providers(['MIGraphXExecutionProvider']) ort_session.set_providers([ort.SessionOptions.ExecutionProvider_CPU]) ort_session.set_providers([ort.SessionOptions.ExecutionProvider_CUDA]) ort_session.set_providers([ort.SessionOptions.ExecutionProvider_Tensorrt]) ort_session.set_providers([ort.SessionOptions.ExecutionProvider_MIGraphX]) ort_session.set_optimization_level(0) ort_session.set_optimization_level(1) ort_session.set_optimization_level(2) ``` 这里我们可以设置CPU,CUDA,Tensorrt和MIGraphX的执行提供程序。此外,还可以设置优化级别以控制推理选项的优化程度。 在实际应用,通常需要对使用ONNX Runtime模型执行推理进行更多配置,以便在具体数据和平台上获得最佳性能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值