Tak, ostatnio czytałem trochę z Garbage Collection, z ciekawości, i jest coś, co powtarza się dość często: zbieranie śmieci może prowadzić do nagłego spowolnienia programu, w zależności od „głębokości” kolekcji.
Ale w grach wideo jest chwila, w której użytkownik tak naprawdę nie zauważa małego opóźnienia: ekranu ładowania. Pomyślałem więc, że przydatne może być przejście do pełnego wyrzucania elementów bezużytecznych podczas fazy ładowania (przez Collect ()), ponieważ odczekanie sekundy lub dwóch dłużej nie powinno tak naprawdę wpłynąć na użytkownika.
Moje pytanie brzmi: czy to jest naprawdę przydatne, czy też nie ma w tym żadnej realnej korzyści?
Odpowiedzi:
Tak, nazywaj to jako ostatnią rzeczą, którą robisz podczas ładowania.
Pozwoli to zmaksymalizować czas między początkiem poziomu a pierwszym opóźnieniem z powodu GC.
Powinieneś również starać się minimalizować przydziały w ogóle, aby nie dostawać więcej opóźnień podczas poziomu.
Zobacz Niska wydajność na 360 i WP7 oraz Twin Paths To Garbage Collector Nirvana
źródło