Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans le modèle de pilote d'affichage Windows (WDDM) v2, les processus se verront attribuer des budgets pour la quantité de mémoire qu'ils peuvent conserver en mémoire vive. Ce budget peut changer au fil du temps, mais en général ne sera imposé que lorsque le système est sous pression mémoire. Avant Microsoft Direct3D 12, le budget est géré par le pilote en mode utilisateur sous la forme de notifications Trim et de défaillances MakeResident avec STATUS_NO_MEMORY. La notification TrimToBudget, Evict, et les appels échoués MakeResident renvoient tous le dernier budget sous la forme d’une valeur entière NumBytesToTrim qui indique la quantité nécessaire pour s’adapter au nouveau budget.
Pour les applications Direct3D 12, le budget est complètement géré par l’application. La taille du budget sert de signal pour indiquer à l’application comment elle doit se dimensionner. En utilisant la taille du budget comme indicateur, l’application peut décider du nombre de ressources à conserver, de la résolution et de la qualité des ressources à conserver.
Pour gérer correctement ces budgets, le noyau doit savoir quelle mémoire doit participer au budget. Il existe un nouveau bit ApplicationTarget dans la structure DXGK_SEGMENTFLAGS2 qui doit être défini sur les segments que le pilote en mode noyau souhaite inclure dans la logique de budgétisation. Par exemple, sur une unité de traitement graphique discrète (GPU) avec 1 segment de VRAM adapté à l’utilisation de l’application et 1 segment de VRAM utilisé automatiquement pour les ressources à usage spécial, le pilote marquera probablement uniquement le segment VRAM principal comme ApplicationTarget. Pour les GPU intégrés, le segment d’ouverture principal est généralement celui marqué. Il n’existe aucune limite au nombre de segments pouvant être marqués comme ApplicationTarget. Le noyau agrège ces éléments ensemble et présente l’application avec une taille unifiée.