Я сейчас начинаю тесты делать разных способов: www (.texture и .LoadImageIntoTexture), UnityWebRequestTexture, File.ReadAllBytes+Texture2D.LoadImage
Посмотрю, где какое общее время операций, распределение времени между этапами, какие этапы можно например в поток вынести или заранее делать...
Если эти 4 способа использовать втупую (просто грузить в Texture2D всё подряд, для File.ReadAllBytes перед каждой итерацией делать yield на кадр),
то по степени плавности прокрутки UI-контента на фоне в редакторе и сборке получилось так:
1) UnityWebRequestTexture (с большим отрывом, фризов вообще нет, но это на десктопе — на планшете могут появиться)
2) www.LoadImageIntoTexture
3) File.ReadAllBytes
4) www.textureNonReadable
Тестил на 32 одинаковых изображениях, 3000х2000 пикселей, 4 МБ веса.
В моей рабочей ситуации будет по-другому: 1000 изображений по 30-100 кб, 256х256, но на больших картинках легче отследить фризы в прокрутке.
По суммарному времени загрузки всех изображений разница очень маленькая.