Thursday, April 13, 2017

Optimalisatie - Deel 3

De vorige keer kwam ik er achter dat het toevoegen van een tegel aan een List de bottleneck was van mijn applicatie. Daarom ben ik onderzoek gaan doen naar Lists in C#, en waarom ze zo langzaam zijn.

Ik stuitte op dit artikel: http://jacksondunstan.com/articles/3066
De schrijver had wat testjes gedaan met het schrijven en lezen van Lists en Arrays, en kwam tot conclusie dat Arrays vele malen sneller zijn dan Lists.



Dus toen besloot ik om de List te vervangen voor een Array. Ik voeg de tegel niet meer toe aan de List tijdens het creëren van de tegel, maar als alle tegels zijn gecreërd zoek ik alle objecten met de Tile-class en stop die in een Array.

Nu ga ik van 37 seconden naar 3.7 seconden voor het maken van een veld van 101x101 tegels!


No comments:

Post a Comment