Freigeben über


Ändern der Größe des Kachelpools

Ändern Sie die Größe eines Kachelpools, um einen Kachelpool zu vergrößern, wenn die Anwendung mehr Arbeit für die Zuordnung der Streamingressourcen benötigt, oder um zu verkleinern, wenn weniger Speicherplatz erforderlich ist. Eine weitere Option für Anwendungen besteht darin, zusätzliche Kachelpools für neue Streamingressourcen zuzuweisen. Wenn jedoch eine einzelne Streamingressource mehr Platz benötigt als anfänglich im Kachelpool verfügbar ist, ist das Wachsen des Kachelpools eine gute Option. Eine Streamingressource kann keine Zuordnungen zu mehreren Kachelpools gleichzeitig haben.

Wenn ein Kachelpool vergrößert wird, werden am Ende zusätzliche Kacheln über eine oder mehrere neue Zuordnungen durch den Anzeigetreiber hinzugefügt. Diese Aufschlüsselung in Zuordnungen ist für die Anwendung nicht sichtbar. Der vorhandene Speicher im Kachelpool bleibt unberührt, und vorhandene Streamingressourcenzuordnungen zu diesem Speicher bleiben erhalten.

Wenn ein Kachelpool verkrumpft wird, werden Kacheln am Ende entfernt. Kacheln werden sogar unterhalb der anfänglichen Zuordnungsgröße entfernt, bis zu 0, was bedeutet, dass neue Zuordnungen nicht über die neue Größe hinaus vorgenommen werden können. Vorhandene Zuordnungen über das Ende der neuen Größe bleiben jedoch intakt und nutzbar. Der Anzeigetreiber behält den Speicher so lange bei, wie zuordnungen zu einem Teil der Zuordnungen, die der Treiber für den Kachelpoolspeicher verwendet. Wenn nach dem Verkleinern einiger Speicher lebendig gehalten wurde, da Kachelzuordnungen darauf zeigen und dann der Kachelpool erneut vergrößert wird (um einen beliebigen Betrag), wird der vorhandene Speicher zuerst wiederverwendet, bevor zusätzliche Zuordnungen erfolgen, um die Größe des Grow-Vorgangs zu warten.

Um Speicher zu sparen, muss eine Anwendung nicht nur einen Kachelpool verkleinern, sondern vorhandene Zuordnungen über das Ende der neuen kleineren Kachelpoolgröße hinaus entfernen/neu zuordnen.

Das Verkleinern (und Entfernen von Zuordnungen) führt nicht unbedingt zu sofortigen Speichereinsparungen. Das Freigeben von Arbeitsspeicher hängt davon ab, wie präzise die zugrunde liegenden Zuordnungen des Anzeigetreibers für den Kachelpool sind. Wenn das Verkleinern so groß ist, dass eine Zuweisung eines Anzeigetreibers nicht verwendet wird, kann der Anzeigetreiber ihn freigeben. Wenn ein Kachelpool vergrößert wurde, ist das Verkleinern auf vorherige Größen (und das Entfernen/Neumapping von Kachelzuordnungen entsprechend) wahrscheinlich speichersparend, wird jedoch nicht garantiert, wenn die Größen nicht genau mit den zugrunde liegenden Zuordnungsgrößen übereinstimmen, die vom Anzeigetreiber ausgewählt wurden.

Zuordnungen befinden sich in einem Kachelpool