Te krzywe wypełniania przestrzeni pozwalają zachować lokalizację w wielu wymiarach, gdy „chodzisz” liniowo wzdłuż krzywej.
Z tego, co widziałem, Z-Order (znany również jako kod Mortona) jest najbardziej wykorzystywany ze względu na jego koszt obliczeniowy, który jest stały (i tani), aby uzyskać bezpośredni dostęp do dowolnego punktu krzywej. (I łatwe do wdrożenia sprzętowego z karą zerową, ponieważ odpowiada to „tylko przełączaniu” przewodów adresowych).
Konkretnym przykładem krzywej Z-Order jest zamiatanie tekstur: zasadniczo zwiększa współczynnik trafień w pamięć podręczną dla odczytanych tekstur na GPU. (Zobacz zdjęcia w artykule o Z-Curve https://en.wikipedia.org/wiki/Z-order_curve )
Jeśli tekstura jest po prostu przechowywana liniowo, otrzymasz maksymalne trafienie w pamięć podręczną, jeśli renderujesz samą teksturę jako obraz 2D, ale jeśli obrócisz ją o 90 stopni na ekranie, przejdziesz do najgorszego scenariusza (brak pamięci podręcznej przy każdym odczytaniu tekstury) .
W rezultacie lepiej jest nieco odrzucić i obniżyć scenariusz najlepszego przypadku i uzyskać lepsze trafienie w pamięć podręczną dla większości wzorców.
Jako osobistą notatkę, z tego, co widziałem, inne krzywe mogą wymagać rekurencyjnego kroku do ich obliczenia i skutkować wyższym kosztem niż Krzywa Z przy minimalnym wzroście spójności lokalizacji. Nie słyszałem więc o tych krzywych wykorzystywanych w praktycznym celu, z wyjątkiem badań jako matematyki lub kreatywnego / śmiesznego renderowania.