0 Replies Latest reply on Mar 16, 2016 4:09 AM by largetom2

    Upload ASTC compression texture use glCompressedTexImage2D cost too much time?

    largetom2

      I am working on an opengl application development. I used the opengl function :glCompressedTexImage2D(), to upload video frame texture in ASTC texture compression format. It works well in mobile phone which the GPU support the opengl extension:GL_KHR_texture_compression_astc_ldr and the compression texture format is:GL_COMPRESSED_RGBA_ASTC_8x8_KHR,the upload time is about 2ms per frame.

      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: http://delphigl.de/glcapsviewer/listreports.php ,find that GTX 750 not support GL_KHR_texture_compression_astc_ldr extension. Then I used Intel(R) HD Graphics 530, which support GL_KHR_texture_compression_astc_ldr 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.

      Here is the upload code:

      glCompressedTexImage2D(GL_TEXTURE_2D, 0, compressed_data_internal_format, xsize, ysize, 0, n_bytes_to_read, astc_data_ptr);  
      glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
      glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
      glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,     GL_REPEAT);
      glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,     GL_REPEAT);

      Thanks very much!