2

My application needs to display a huge image, which is a world map size 200G on the remote server. The display should be draggable and scaleable, which means only the showing part/scale data is needed instantly, AND the around region should be preloaded to minimize the delay when dragging and scaling. Meanwhile, it should display as clear as possible with minimized delay. How can I achieve this?

My dim thought is, preprocessing the huge image to different scales like 1:10,1:20,1:30.....1:MAX_SIZE on the server, when will displaying region (-100, -100, 100, 100), preload region (-100 * 9 * 2, -100 * 9 * 2, 100 * 9 * 2, 100 * 9 * 2) with different scales, the 9 is for scaling from 1:1 to 1:9 (Here is the key, think about it), and the 2 is preloaded for dragging. BUT it looks like my method will lead to unrealistic preloading and displaying efficiency, and a huge amounts of scales should be preprocessed on the server.

In fact, how to optimally save the 200G image data on the server is a problem.

Can anyone help? Appreciate any insights!

Suge
  • 2,808
  • 3
  • 48
  • 79
  • That'll always be a trade-off between performance and used storage. You could use the mipmap-approach, use an image-format that allows reading single pixels and read with random-access, store the image as a cluster of smaller images and stitch those together as required. The question how to save the image is a logical consequence of how much performance you allow the application to drain and how much space you want to use, so you should probably figure that out in the first place. –  Feb 13 '17 at 12:12

0 Answers0