Widziałem wiele przykładów renderowania duszków z arkusza, ale nie zrozumiałem, dlaczego jest to najczęstszy sposób radzenia sobie z duszkami w grach 2d.
Zacząłem od renderowania ikonek 2d w kilku aplikacjach demonstracyjnych, które stworzyłem, zajmując się każdą klatką animacji dla dowolnego typu ikonki jako jej własnej tekstury - a ta kolekcja tekstur jest przechowywana w słowniku. Wydaje się, że to działa dla mnie i całkiem dobrze pasuje do mojego przepływu pracy, ponieważ zwykle robię animacje jako pliki gif / mng, a następnie wyodrębniam klatki do poszczególnych png.
Czy istnieje wyraźna korzyść w zakresie wydajności renderowania z jednego arkusza zamiast z poszczególnych tekstur? Czy przy nowoczesnym sprzęcie, który potrafi rysować miliony wielokątów na ekranie sto razy na sekundę, czy ma to w ogóle znaczenie dla moich gier 2D, które mają do czynienia z kilkadziesiąt prostokątów 50 x 100 pikseli?
Szczegóły implementacji ładowania tekstury do pamięci graficznej i wyświetlania jej w XNA wydają się dość abstrakcyjne. Wiem tylko, że tekstury są wiązane z urządzeniem graficznym podczas ładowania, a następnie podczas pętli gry tekstury renderowane są partiami. Nie jest więc dla mnie jasne, czy mój wybór wpływa na wydajność.
Podejrzewam, że istnieje kilka bardzo dobrych powodów, dla których większość deweloperów gier 2D używa ich, po prostu nie rozumiem dlaczego.