Эти кривые заполнения пространства позволяют сохранять локальность в нескольких измерениях, когда вы «гуляете» по кривой.
Из того, что я видел, Z-порядок (также известный как код Мортона) является наиболее используемым из-за его вычислительной стоимости, которая является постоянной (и дешевой) для прямого доступа к любой точке кривой. (И легко реализовать в оборудовании с нулевым штрафом за цикл, так как это соответствует «просто переключению» адресных проводов).
Конкретным примером кривой Z-порядка является перестановка текстур, которая в основном увеличивает частоту обращений к кешу для чтения текстур на графических процессорах. (См. Изображения в статье о Z-кривой, https://en.wikipedia.org/wiki/Z-order_curve )
Если текстура просто хранится линейно, вы получите максимальное попадание в кэш, если вы визуализируете только текстуру как 2D-изображение, но если вы повернете ее на 90 градусов на экране, вы попадете в худший вариант (потеря кэша для каждого чтения текстуры) ,
В результате, лучше немного пойти на компромисс и понизить свой лучший сценарий, а также получить лучший кэш для большинства шаблонов.
Как личное замечание, из того, что я видел, другие кривые могут потребовать рекурсивного шага для их вычисления и привести к большей стоимости, чем Z-кривая с минимальным выигрышем в терминах когерентности локальности. Итак, я не слышал об этих кривых, используемых с практической целью, кроме как в качестве предмета исследования в математической или творческой / смешной визуализации.