【Unity】ComputeShader丢失处理数据的bug

项目场景:

提示:这里简述项目相关背景:

在大量数据查找中总是莫名其妙地少了某些数据。


问题描述

提示:这里描述项目中遇到的问题:

Dispatch调用问题


解决方案:

提示:这里填写该问题的具体解决方案:

在处理线性数据时,常会用到线程组(n,1,1);
在Dispatch注意一定要取浮点数后再向上取整。


int threadGroupSize = 64; // 假设这是适合当前GPU的最佳线程组大小
int arrayLength = ...; // 要处理的数据数组长度

int threadGroupsX = Mathf.CeilToInt(arrayLength / (float)threadGroupSize);
 Dispatch(threadGroupsX, 1, 1);

你可能感兴趣的:(奇奇怪怪的Bug,bug,unity)