Opengl es 对于opengl(webgl),png或jpeg是最合适的文件格式吗?
在opengl(更具体地说是webgl)上,对于纹理,建议jpeg和png之间的哪种格式在运行时渲染时更有效?我知道jpeg可以比PNG小,但解码可能会更昂贵,或者其他。解码jpeg的速度非常快,您需要使用数千(或者如果您在移动设备上,可能是数百)高分辨率jpeg才能看到性能上的显著提高。 由于您的平台是web,我建议您使用JPEG格式,这取决于您使用的纹理类型,它将是所有浏览器支持的最大尺寸/质量效率的格式(webp是一种很好但不受良好支持的替代格式) 如果你的纹理更像图形或卡通,这意味着它们有很多锐利和精细的边缘以及很多单色区域,我建议使用PNG,中高JPEG压缩时,硬边和精细边会变得非常模糊Opengl es 对于opengl(webgl),png或jpeg是最合适的文件格式吗?,opengl-es,format,webgl,image-formats,Opengl Es,Format,Webgl,Image Formats,在opengl(更具体地说是webgl)上,对于纹理,建议jpeg和png之间的哪种格式在运行时渲染时更有效?我知道jpeg可以比PNG小,但解码可能会更昂贵,或者其他。解码jpeg的速度非常快,您需要使用数千(或者如果您在移动设备上,可能是数百)高分辨率jpeg才能看到性能上的显著提高。 由于您的平台是web,我建议您使用JPEG格式,这取决于您使用的纹理类型,它将是所有浏览器支持的最大尺寸/质量效率的格式(webp是一种很好但不受良好支持的替代格式) 如果你的纹理更像图形或卡通,这意味着它们
PNG进行无损压缩。特别是对于卡通内容(与照片相比,颜色和细节非常少),您将获得与经过良好压缩的JPEG相似的大小,但具有更好的视觉效果,在某些情况下甚至具有更好的压缩效果。Paul的答案在文件大小和解码方面是正确的,但它并没有真正回答您提出的问题 建议jpeg和png之间的哪种格式在运行时渲染时更有效
由于问题是渲染过程中哪个更有效,因此答案略有变化。JPEG和PNG都作为未压缩的RGB/A数据上传到GPU,因此两者的渲染特性完全相同。我还做了一些测试,表明两者的上传速度实际上是相同的。因此,您的选择应该与渲染性能无关,而与具有所需特性的格式无关。(有损/无损、alpha通道等)每种格式都有不同的用途 JPEG:小,有损。仅RGB PNG:无损,4通道(RGBA) 一般来说,您应该尽可能地使用JPEG,因为您可以使它们非常小。简单的彩色纹理非常适合JPEG 尽管PNG有多种用途
一个例子是这两种方法不能完全互换。PNG是无损的,JPEG不是。OpenGL在纹理格式上是完全透明的。这只是加载图片的问题。