Почему вычислительные потоки шейдеров не работают случайно на мобильных устройствах, а не на P C? - PullRequest
0 голосов
/ 06 января 2020

Когда я запускаю симуляцию физики мягких тел на P C, она работает нормально. К сожалению, в мобильном графическом процессоре Oculus Quest потоки (полу) случайным образом не запускаются для всех различных ядер вычислительных шейдеров. Становится ясно, когда я раскрасил код вершины me sh, в соответствии с тем, какое ядро ​​последний раз коснулось их: https://cdn.discordapp.com/attachments/552308534906454017/663545642479648778/Gif_509.gif

На P C в редакторе Unity модель имеет вид solid синий, но на мобильном это мерцающий беспорядок. Кажется, что шаблоны ошибок меняются, когда я изменяю шейдеры; Некоторые наборы отправлений имеют минимальные сбои потоков https://cdn.discordapp.com/attachments/552308534906454017/663555876736729140/Gif_510.gif

Проблемы начались, когда я перешел больше 3 отправлений на кадр - потом стало лучше в 6, потом хуже в 20, потом лучше-я sh снова при 12 отправках (приблизительные цифры к вашему сведению). Кажется, что количество рабочих групп в одной отправке тоже имеет какой-то эффект ..? Renderdo c показывает большую свободу действий на мобильном графическом процессоре, так что это не из-за перегрузки. Но изменение нагрузки, кажется, имеет некоторый эффект, иногда ...

Я был на этом около недели (распространяется в течение 6 месяцев), и я ничего не получаю.

...