0
すべてのデータがインターリーブされ、同時にキャッシュにロードされなければならないので、私は2番目の場合は、より良い空間的局所性を持っていることを考えてい
struct Sphere{
Vector3 center;
float radius;
float color;
};
struct{
struct Sphere* spheres;
unsigned int size;
}Spheres;
使用例
void spheres_process(){
int i;
for(i = 0; i < Spheres.size; ++i){
// do something with this sphere
}
}
対
struct{
Vector3* centers;
float* radii;
float* colors;
unsigned int size;
}Spheres;
。どちらの場合も、私はすべての球を同時に処理します。どんな入力?
対象アーキテクチャはx86で、GCC 4.5.0を使用しています。他にどんな詳細がありますか? – ytrp