【ue4】TaskGraph入手

因为网格构建比较吃时间,所以要把构建过程加到多线程里

由于目前只需要做及时的网格构建,所以我使用最简单的调用

原理应该跟线程池差不多吧,把执行函数扔进去,然后他执行

AsyncTask(ENamedThreads::AnyNormalThreadNormalTask,
    [this,chunk2Draw]()
    {
    constructMeshForChunk(*chunk2Draw);
    }
); 

在构建完网格数据后(顶点坐标和索引

需要调用ue的函数构建网格,但是这个调用的时候ue崩溃了

所以应该是只能在主线程调用

		AsyncTask(ENamedThreads::GameThread,
			[&chunk,this]()
			{
				if (chunk.meshId < 0)
				{
					chunk.meshId = context->meshManager->createMesh_andGetId(chunk.vertices, chunk.triangles);
				}
				else
				{
					context->meshManager->updateMesh_withId(chunk.meshId, chunk.vertices, chunk.triangles);
				}
			}
		);

不过如上的过程还是会产生明显的卡顿,

© 2021 hanbaoaaa record.浙ICP备20005263号
asdad
联系方式 asdasd
2021-5-8 4:19
sss
回复数 (0) 点击展开
加载更多

新增评论

称呼
联系方式
邮箱(选填)
内容

提交

取消