Redimensionnement d’un pool de vignettesTile pool resizing

Redimensionnez un pool de vignettes pour l’augmenter si l’application nécessite plus de plages de travail pour les ressources de diffusion en continu mappées ou le réduire si moins d’espace est nécessaire.Resize a tile pool to grow a tile pool if the application needs more working set for the streaming resources mapping into it, or to shrink if less space is needed. Les applications peuvent également allouer des pools de tuiles supplémentaires aux nouvelles ressources de diffusion en continu.Another option for applications is to allocate additional tile pools for new streaming resources. Cependant, si une simple ressource de diffusion en continu nécessite plus d’espace disponible qu’auparavant dans son pool de tuiles, l’augmentation du pool de tuiles est une bonne option.But if any single streaming resource needs more space than initially available in its tile pool, growing the tile pool is a good option. Une ressource de diffusion en continu ne peut pas avoir de mappages dans plusieurs pools de tuiles en même temps.A streaming resource can't have mappings into multiple tile pools at the same time.

Lorsqu’un pool de tuiles est agrandi, des tuiles supplémentaires sont ajoutées à la fin par le pilote d’affichage via une ou plusieurs nouvelles allocations.When a tile pool is grown, additional tiles are added to the end via one or more new allocations by the display driver. Cette répartition en allocations n’est pas visible pour l’application.This breakdown into allocations isn't visible to the application. La mémoire existante dans ce pool de tuiles est conservée et les mappages de ressources de diffusion en continu existants dans la mémoire restent intactes.Existing memory in the tile pool is left untouched, and existing streaming resource mappings into that memory remain intact.

Lorsqu’un pool de tuiles est réduit, les tuiles sont supprimées de la fin du pool.When a tile pool is shrunk, tiles are removed from the end. Les tuiles sont supprimées même si leur taille est inférieure à la taille de l’allocation initiale, jusqu’à 0, ce qui signifie que les nouveaux mappages ne peuvent pas être définis au-delà de cette nouvelle taille.Tiles are removed even below the initial allocation size, down to 0, which means new mappings can't be made past the new size. Toutefois, les mappages existants après la fin du redimensionnement restent intacts et utilisables.But, existing mappings past the end of the new size remain intact and useable. Le pilote d’affichage conservera la mémoire tant que les mappages de certaines allocations utilisées par le pilote pour le pool de tuiles sont conservés.The display driver will keep the memory around as long as mappings to any part of the allocations that the driver uses for the tile pool memory remains. Si après une réduction, la mémoire a été conservée car des mappages de tuiles y sont liés, et que le pool de tuiles est de nouveau agrandi (quel que soit le volume), la mémoire existante est d’abord réutilisée avant d’ajouter des allocations supplémentaires permettant l’opération d’agrandissement.If after shrinking some memory has been kept alive because tile mappings are pointing to it and then the tile pool is regrown again (by any amount), the existing memory is reused first before any additional allocations occur to service the size of the grow operation.

Pour économiser de la mémoire, une application doit non seulement réduire un pool de tuiles, mais également supprimer/remapper les mappages existants à la fin de la réduction du pool de tuiles.To be able to save memory, an application has to not only shrink a tile pool but also remove/remap existing mappings past the end of the new smaller tile pool size.

L’opération de réduction (et la suppression des mappages) ne produit pas nécessairement des économies de mémoire immédiates.The act of shrinking (and removing mappings) doesn't necessarily produce immediate memory savings. La libération d’espace dans la mémoire dépend du niveau de granularité des allocations sous-jacentes du pilote d’affichage pour le pool de tuiles.Freeing of memory depends on how granular the display driver's underlying allocations for the tile pool are. Lorsqu’une réduction est suffisante pour que des allocations de pilote d’affichage se retrouvent inutilisées, le pilote d’affichage peut libérer de l’espace.When shrinking happens to be enough to make a display driver allocation unused, the display driver can free it. Si un pool de tuiles s’est agrandi, la réduction à la taille précédente (et la suppression/le remappage des mappages de tuiles associés) est conseillée pour engendrer des économies de mémoire, même si celles-ci ne sont pas garanties dans le cas où les tailles ne s’alignent pas exactement avec la taille des allocations sous-jacentes choisies par le pilote d’affichage.If a tile pool was grown, shrinking to previous sizes (and removing/remapping tile mappings correspondingly) is most likely to yield memory savings, though not guaranteed in the case that the sizes don't exactly align with the underlying allocation sizes chosen by the display driver.

Rubriques connexesRelated topics

Les mappages sont dans un pool de vignetteMappings are into a tile pool