NGUI 切图必须是2的n次幂吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGUI 切图必须是2的n次幂吗相关的知识,希望对你有一定的参考价值。

参考技术A 不是必须的,如果你的切图是放入图集的就没这个要求;
即使作为一般的图片资源也并不是不可以,但是2的n次幂的纹理会使unity运行效率得到最大优化。

数据库可变长度文本字段应该是 2 的幂吗?

【中文标题】数据库可变长度文本字段应该是 2 的幂吗?【英文标题】:Should database variable-length text fields be powers of 2? 【发布时间】:2008-10-17 14:29:22 【问题描述】:

我的一个朋友声称,在典型的数据库中,由于页面分配的粒度,使用(例如)nvarchar[256] 将比nvarchar[200]nvarchar[250] 提供稍好的性能。

这是真的吗?

谢谢!

【问题讨论】:

相关问题:***.com/questions/214527/… 【参考方案1】:

这不是真的。表在磁盘上以 8k 页分配。从磁盘读取表时,会在一次 IO 操作中读取整个页面并存储在内存中。因此,列的长度根本不会影响内存对齐。事实上,对于非可变长度数据类型,越短肯定越好:与 nchar(256) 列相比,nchar(200) 列每页允许的行数更多。这允许每个物理 IO 读取更多行,这可能会对数据库性能产生剧烈影响。

【讨论】:

【参考方案2】:

不,没有。

【讨论】:

【参考方案3】:

如果有的话,由于分配开销,它可能会更糟。当您分配 nvarchar(256) 时,数据库可能包含几个字节作为长度,因此存储需求实际上可能是 258。

这里有太多的抽象层次在起作用,如果尝试在顶部优化只在底部重要的东西,你不会看到任何好处,而且你可能只会让事情变得更糟!

【讨论】:

至少这是一个过早优化的新尝试。我以前从未听过这个特别的。【参考方案4】:

我想知道你的朋友是否以某种方式得出了他/她自己的结论,或者这是一个神话传播的案例。

Tom Kyte 关于“你知道的事情”的精彩演讲,几乎每个人都应该在做出上述声明之前观看:Things you know

【讨论】:

【参考方案5】:

这样想: 如果 nvarchar[256] 的性能比 nvarchar[200] 好,那么当您请求 nvarchar[200] 时,DBMS 不会只创建一个 nvarchar[256] 吗? (但仍然让它看起来像 nvarchar[200])

优秀的 DBMS 有一些非常先进的优化。我很确定他们也有所有简单的。

【讨论】:

以上是关于NGUI 切图必须是2的n次幂吗的主要内容,如果未能解决你的问题,请参考以下文章

NGUI_PopupList

NGUI_Toggle

倍增原理

前端之PS切图

Math.pow

HashMap