Egret社区

贴图是否一定要2的n次方

2018-5-23 17:42
487914
1银子
我看到egret上有说不要求图集一定要2的n次方。可以随意大小,这样可以让图片尽量小。但是大部分显卡不是只能支持2的n次方吗?  还是说现在大部分gpu都支持非2的n次方了

另外不是2n次方,那么我们的内存肯定是会比强行打包成2的n次方来得小的。
但是这样egret底层会不会因为不是2的n次方,然后重新生成标准的2的n次来图片,从而造成额外的消耗。

以前stage3d的时候,如果如果图片不是2的n次方,是有这个操作的

最佳答案

查看完整内容

我这边真机测试、没发现二者有明显的性能消耗差异, 当然测试覆盖面不广。 看了这篇文章,https://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences 倒是有说到、webgl是可以使用非2的幂次方贴图的, 但有几个限制: 1. 不能用于多级渐进纹理,即 mipmap 2. 在着色器中采样纹理贴图时:纹理过滤方式只能用最近点或线性, 不能使用重复模式。 对于一般的2d游戏, 这两点一般不会有影响。担心的话, 可以通过合图的方 ...
分享到 :
0 人收藏

14 个回复

倒序浏览
tengone  登堂入室 | 2018-5-23 17:42:13
弃天笑 发表于 2018-5-25 21:42
我知道是可以正常显示,但是就是不知道是不是2的n次方效率会比较高,底层不知道会不会自动初始化为2的n次 ...

我这边真机测试、没发现二者有明显的性能消耗差异, 当然测试覆盖面不广。
看了这篇文章,https://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences
倒是有说到、webgl是可以使用非2的幂次方贴图的, 但有几个限制: 1.  不能用于多级渐进纹理,即 mipmap  2. 在着色器中采样纹理贴图时:纹理过滤方式只能用最近点或线性, 不能使用重复模式。 对于一般的2d游戏, 这两点一般不会有影响。担心的话, 可以通过合图的方式、拼接成2的幂次方大图。
弃天笑  登堂入室 | 2018-5-24 10:23:45
大家都不注意这个问题了吗?
tengone  登堂入室 | 2018-5-24 20:15:14
弃天笑 发表于 2018-5-24 10:23
大家都不注意这个问题了吗?

不需要一定是2的N次方,非2的N次方也可以正常渲染
tengone  登堂入室 | 2018-5-24 20:15:19
弃天笑 发表于 2018-5-24 10:23
大家都不注意这个问题了吗?

不需要一定是2的N次方,非2的N次方也可以正常渲染
tengone  登堂入室 | 2018-5-24 20:15:21
弃天笑 发表于 2018-5-24 10:23
大家都不注意这个问题了吗?

不需要一定是2的N次方,非2的N次方也可以正常渲染
tengone  登堂入室 | 2018-5-24 20:15:22
本帖最后由 tengone 于 2018-5-24 20:19 编辑


nofastfat  圆转纯熟 | 2018-5-24 20:24:19
说不影响的,那是canvas模式渲染。对于webgl模式来说,显卡从未变过,一直要搜要求2的N次方,所以剩下的就不用我多说了吧
tengone  登堂入室 | 2018-5-24 20:31:54
nofastfat 发表于 2018-5-24 20:24
说不影响的,那是canvas模式渲染。对于webgl模式来说,显卡从未变过,一直要搜要求2的N次方,所以剩下的就 ...

我这边项目不管是UI还是龙骨动画的贴图,都存在非2的幂次方的情况, 运行时是webgl模式、egret是DEBUG面板显示的,显示也都正常啊, 您那边有出现过异常情况么?  有的话, 还请指导指导
joesonw  初学乍练 | 2018-5-24 21:54:54
https://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences  NPOT(Not Power Of Two)在WebGL的支持是有限的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部