回答:
これは、ゲームとチャンクに使用されるインデックス構造に依存します。ただし、このような高いレベルでは、メモリや特定のパフォーマンスの向上に大きく関係している可能性はあまりありません。チャンクのサイズを予測可能な方法で決定するのは、おそらく勝手な決定です。2の累乗ではない数値では不可能な、ビットシフトを使用したいくつかのカウントとインデックス作成のトリックが可能になります。
たとえば、2の累乗でカウントすることは、ビットをバイナリでシフトするのと同じくらい簡単です。
Dec = Bin
1 = 000001
2 = 000010
4 = 000100
8 = 001000
16 = 010000
32 = 100000
これらのショートカットを使用する場所は、開発者と解決しようとしている問題によって異なります。
チャンクを作成するサイズを決定する際に、他の面では重要ではない場合は、使い慣れたもので使い慣れているものを使用することもできます。
まず、2のべき乗で乗算することは、ビットシフトで実行できるため、任意の数で乗算するよりもはるかに安価です。ほとんどの場合、コンパイラーがこれを行うことができるため、コードに「* 16」を書き込むたびに、コンパイラーは実際に4シフトし、心配する必要はありません。このようにデータ構造を設計することにより、機会をコンパイラします。
次に、コンピューターのキャッシュライン、メモリバス、その他の情報ハイウェイも2のべき乗を使用するように設計される傾向があるため、この方法で全体的にパフォーマンスが向上する可能性があります。
第三に、私たちの古いオタクは2のべき乗で遊んでいるだけなので、それは習慣です。
(第4に、ハードウェアとコンパイラを設計する他の古いオタクも2のべき乗が好きなので、これはすぐには変わりません)。
本当の答えはこれだけです:バイナリコンピューターでは、2のべき乗はいいラウンド数です。
普通の人が何らかの目的で任意の数字を選ぶ必要があるとき、彼らは通常、彼らが快適な番号体系で素敵なラウンド番号を選択します。10を基数とします。シンプルで簡単であり、多くの思考を必要とせず、正確な値は彼らにとってそれほど重要ではありませんでした。
プログラマーとして、何らかの目的で任意の数字を選択する必要がある場合、通常、コンピューターが使用する数字システムの基数2で適切なラウンド数を選択します。したがって、2、4、8などを選択します。簡単であり、多くの思考を必要とせず、正確な値は私たちにとってそれほど重要ではありませんでした。
それは本当にそれ以上複雑ではありません。彼らはちょうどいいラウンド数です。
2^n
)