Bonjour,
J'utilise la collection Queue<T> de C# pour gérer l'acquisition de courbe (2D) en temps réel.
au démarrage de mon appli, 40 traces vides sont initialisées ... c'est-à-dire que j'ai un tableau de 40 new Queue<Point2D>() .
J'essaye de savoir comment Microsoft à gérer son allocation mémoire des queues ... car il ne faudrait pas qu'il alloue direct toute la mémoire dispo alors qu'aucune trace n'a pour le moment été acquise (suis-je clair ?)
Si j'en crois ce que dit msdn :
La queue alloue par défaut une certaine taille mémoire (the capacity)... et réalloue ensuite si nécessaire de la place si on empile un nouvel élément alors que la queue est pleine.The capacity of a Queue is the number of elements the Queue can hold. As elements are added to a Queue, the capacity is automatically increased as required through reallocation. The capacity can be decreased by calling TrimToSize.
The growth factor is the number by which the current capacity is multiplied when a greater capacity is required. The growth factor is determined when the Queue is constructed. The default growth factor is 2.0. The capacity of the Queue will always increase by at least a minimum of four, regardless of the growth factor. For example, a Queue with a growth factor of 1.0 will always increase in capacity by four when a greater capacity is required.
C'est la taille de cette allocation par défaut (lors de la construction de la queue) et si il existe un moyen de la gérer dés la construction de la queue que je cherche à connaître.
Partager