I am working on an application where I would like to display a large # of images from which the user can select from to view in full-res. A subset of the images will be visible to the user at any point of time, the number of which is user-controlled using a control which will increase or reduce the thumbnail sizes.
Currently if too many images are loaded, the application will naturally run out of GPU memory.
I am thinking of several possible approaches, but I am not sure which way is the best:
- Load the full image into memory, resize the image into a thumbnail using the CPU then send it to the GPU
- Load the full image into memory, send it to the GPU and resize it on the GPU into thumbnail size using vkCmdBlitImage
- Load a thumbnail (?) from file which should be embedded into the jpegs? (not sure how to get the thumbnails)
What is the best way to approach this?