title: Upload ASTC compression texture use glCompressedTexImage2D cost too much time?
body: <p>I am working on an opengl application development. I used the opengl function :<strong>glCompressedTexImage2D()</strong>, to upload video frame texture in ASTC texture compression format. It works well in mobile phone which the GPU support the opengl extension:<strong>GL_KHR_texture_compression_astc_ldr</strong> and the compression texture format is:<strong>GL_COMPRESSED_RGBA_ASTC_8x8_KHR</strong>,the upload time is about 2ms per frame.</p>
  <p>I want to porting the application to Windows platform with opengl 4.5 and Nvidia GTX 750 hardware ,find that the upload success, but the upload cost too much time, which is about 200ms~300ms per frame. I look at the hardware database: <a href="http://delphigl.de/glcapsviewer/listreports.php" rel="nofollow noreferrer">http://delphigl.de/glcapsviewer/listreports.php</a> ,find that GTX 750 not support <strong>GL_KHR_texture_compression_astc_ldr</strong> extension. Then I used Intel(R) HD Graphics 530, which support <strong>GL_KHR_texture_compression_astc_ldr</strong> extension and the upload time is about 2ms per frame.
  So I want to know why Nvidia GTX 750 could upload ASTC texture success but cost so much time,is there any way to upload ASTC texture in normal time(2ms per frame) using the Nvidia GTX 750.The Intel(R) HD Graphics 530 could not support complicated 3D application.</p>
  <p>Here is the upload code:</p>
  <pre><code>glCompressedTexImage2D(GL_TEXTURE_2D,
                                  0,
                                  compressed_data_internal_format,
                                  xsize,
                                  ysize,
                                  0,
                                  n_bytes_to_read,
                                  astc_data_ptr);
  
  GL_CHECK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR));
  GL_CHECK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR));
  GL_CHECK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,     GL_REPEAT));
  GL_CHECK(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,     GL_REPEAT));
  </code></pre>