Місцевість довідника має значення, але вам не потрібно так сильно хвилюватися ... тому що ви не маєте абсолютного контролю.
Під час використання OpenGL / DirectX у вас зазвичай обмежений контроль над компонуванням пам'яті, драйвер буде робити все інше. Наприклад, ви можете спробувати декілька макетів вершинних буферів, таких як використання перемежованих або непереплетених даних вершин, і залежно від ваших даних / драйвера / GPU продуктивність буде відрізнятися. Профілюйте та виберіть те, що найкраще відповідає вашій заявці.
Наприклад, в оптимізації конвеєра GPU Gems Pipeline, локальність посилання згадується двічі , перший:
Доступ до даних вершин відносно послідовно. Сучасні графічні процесори кешують пам'ять під час отримання вершин. Як і в будь-якій ієрархії пам'яті, просторова локалізація посилань допомагає максимізувати звернення в кеш, зменшуючи, таким чином, вимоги до пропускної здатності.
І друге
Оптимізуйте кеш вершин після T і L. Сучасні графічні процесори мають невеликий кеш-пам'ять «перший-в-перший» (FIFO), який зберігає результат останніх перетворених вершин; попадання в цей кеш економить усі роботи з трансформації та освітлення, а також усі роботи, виконані раніше в трубопроводі. Щоб скористатися цим кешем, ви повинні використовувати індексовані примітиви, і ви повинні замовити вершини, щоб максимізувати локальність посилання над сіткою. Є доступні інструменти - включаючи D3DX і NVTriStrip (NVIDIA 2003) - які можуть допомогти вам у виконанні цього завдання.
На мій погляд, ці рекомендації відповідають тому, про що я говорив, і означають, що ви не маєте абсолютного контролю над компонуванням пам'яті, але те, над чим ви маєте контроль, наприклад, як викладені всі вершини VBO, може впливати на продуктивність.
Якщо у вашій програмі є ефективність, спочатку слід виявити вузьке місце, можливо, це не проблема місцевості посилання даних, але це може бути через те, що існує величезна кількість даних без відсікання, наприклад, ви не здійснюєте вибивання фрусту. і т. д. Ви можете перевірити мою відповідь тут по темі.
Я думаю, що вам слід більше турбуватися про місце розташування посилань при використанні OpenCL / CUDA, якщо ви часто мали абсолютний контроль над компонуванням пам'яті.