我正在开发一个应用程序,我想显示大量图像,用户可以从中选择以全分辨率查看。图像的子集将在任何时间点对用户可见,其数量由用户使用控件控制,该控件将增加或减小缩略图大小。
目前,如果加载的图像过多,应用程序自然会耗尽 GPU 内存。
我正在考虑几种可能的方法,但我不确定哪种方法最好:
- 将完整图像加载到内存中,使用 CPU 将图像大小调整为缩略图,然后将其发送到 GPU
- 将完整图像加载到内存中,将其发送到 GPU 并在 GPU 上使用 vkCmdBlitImage 将其调整为缩略图大小
- 从应该嵌入jpeg的文件中加载缩略图(?)?(不知道如何获取缩略图)
解决这个问题的最佳方法是什么?