我正在做一些大紋理的WebGL工作,並且已經達到了必須使用紋理壓縮來緩解VRAM和上傳時間問題的地步。Android-WebGL上有什麼紋理壓縮格式?
我的應用程序需要在iOS和Android手機上運行最近兩三年。這一次,桌面支持並不重要。
我知道iOS中的Chrome和Safari會允許我傳遞PVRTC格式的紋理,因爲所有iOS設備都使用PowerVR GPU芯片組。所以iOS是一個解決的問題。
我也明白,幾乎所有的Android手機都正式支持愛立信紋理壓縮(ETC,ETC1) - 這實際上是由OpenGL 2規範強制的。但是,我讀過一些報道,一些Android實例上的某些瀏覽器實際上是以未壓縮的方式傳遞ETC1紋理。
WebGLStats警告我相當赤裸裸地反對使用WEBGL_compressed_texture_etc1擴展:
警告不要使用。通常通過在CPU上解壓縮並在GPU上傳完整大小來實現瀏覽器中的性能,vram和質量的嚴重影響。在Chrome 57和Firefox ??中已修復。
我知道的另一種常見格式是S3TC。這在桌面上得到了很好的支持,但Android操作性似乎僅限於使用NVIDIA芯片組的設備。我相信這些都是罕見的(只有Tegra?)。
對於選擇適用於現代Android手機的紋理壓縮格式,我的最佳選擇是什麼?