<div dir="ltr">Hi All, I am trying to implement remote reading small blocks of images, but find slow performance.<br><br>For example i am trying to read 100x100 block from `sentinel-2` image, with using following code:<br class="gmail-Apple-interchange-newline"><div><br></div><div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono",monospace,monospace,"Droid Sans Fallback";font-size:14px;line-height:19px;white-space:pre"><div>filename = (</div><div>    <span style="color:rgb(206,145,120)">'/vsigs/gcp-public-data-sentinel-2/tiles/31/U/FS/'</span></div><div>    <span style="color:rgb(206,145,120)">'S2A_MSIL1C_20201024T104121_N0209_R008_T31UFS_20201024T125115.SAFE/'</span></div><div>    <span style="color:rgb(206,145,120)">'GRANULE/L1C_T31UFS_A027890_20201024T104121/IMG_DATA/T31UFS_20201024T104121_B08.jp2'</span></div><div>)</div><div>ds = gdal.OpenEx(filename, gdal.OF_RASTER)</div><div>band = ds.GetRasterBand(<span style="color:rgb(181,206,168)">1</span>)</div><div>img = band.ReadAsArray(<span style="color:rgb(181,206,168)">1000</span>, <span style="color:rgb(181,206,168)">1000</span>, <span style="color:rgb(181,206,168)">100</span>, <span style="color:rgb(181,206,168)">100</span>)</div></div></div><div><div class="gmail-gs" style="margin:0px;padding:0px 0px 20px;width:1504px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-"><div id="gmail-:27t" class="gmail-ii gmail-gt" style="font-size:0.875rem;direction:ltr;margin:8px 0px 0px;padding:0px"><div id="gmail-:27s" class="gmail-a3s gmail-aiL" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div dir="ltr"><div><div><div><div><br></div><div>In result I am getting more low performance in comparison if I just download the whole image in memory and then read the necessary block. AS I understand it happens due to a lot of small requests (is about 100)  that are made during reading a small part of the image. Is it a fundamental feature of JP2OpenJPEG and this format not suitable for doing things like that? Should I take another format like GeoTiff and store my own data in it? Thank, for your reply.<div class="gmail-yj6qo"></div><div class="gmail-adL"><br></div></div></div></div></div></div><div class="gmail-adL"></div></div></div><div class="gmail-hi" style="border-bottom-left-radius:1px;border-bottom-right-radius:1px;padding:0px;width:auto;background:rgb(242,242,242);margin:0px"></div></div></div><br class="gmail-Apple-interchange-newline"></div></div>