Partager via


Calcul de la mémoire graphique

Avant que VidMm puisse fournir un rapport précis aux clients, il doit calculer la quantité totale de mémoire graphique. VidMm utilise les types de mémoire et les formules suivantes pour calculer les chiffres de la mémoire graphique :

  • Mémoire système totale

    Cette valeur correspond à la quantité totale de mémoire système accessible au système d’exploitation. La mémoire que le BIOS alloue n’apparaît pas dans ce nombre. Par exemple, un ordinateur doté d’un module DIMM de 1 Go (1 024 Mo) et dont le BIOS réserve 1 Mo de mémoire affiche 1 023 Mo de mémoire système.

  • Mémoire système totale disponible pour l’utilisation graphique

    Cette valeur est la quantité totale de mémoire système dédiée au GPU ou partagée avec lui. Ce nombre est calculé comme suit :

    TotalSystemMemoryAvailableForGraphics = MAX((TotalSystemMemory / 2), 64MB)
    
  • Limite de validation sur un segment d’ouverture

    Cette valeur correspond à la quantité de mémoire système que VidMm permet aux pilotes miniports d’affichage en mode noyau (KMD) de réserver à l’utilisation du GPU à un moment donné. Autrement dit, il s’agit de la quantité de mémoire système que les KMD peuvent mapper à travers un segment d’ouverture. La quantité totale de mémoire système allouée au GPU peut largement dépasser la limite de validation ; cependant, VidMm garantit que seule une quantité maximale de la limite de validation réside dans un segment d’ouverture à un moment donné.

    Par défaut, la limite de validation d’un segment d’ouverture donné correspond à la taille de ce segment. Le KMD peut spécifier une limite de validation différente dans le membre CommitLimit de la structure DXGK_SEGMENTDESCRIPTOR lorsque le pilote décrit le segment. Une limite de validation spécifiée de cette façon s’applique uniquement au segment particulier décrit par le pilote.

    En plus de la limite de validation par segment, il existe une limite de validation globale sur tous les segments d’ouverture. Cette dernière est également appelée mémoire système partagée. VidMm calcule cette valeur. Un KMD peut réduire cette valeur dans le membre ApertureSegmentCommitLimit de la structure DXGK_DRIVERCAPS ; toutefois, nous ne recommandons pas cette pratique.

    VidMm n’autorise pas un KMD à violer la limite de validation par segment ni la limite de validation globale. Si un segment particulier présente une limite de validation de 1 Go, mais que la limite de validation globale est de 256 Mo, VidMm n’autorise pas un KMD à mapper plus de 256 Mo de mémoire système dans ce segment.

  • Mémoire vidéo dédiée

    Cette valeur correspond à la somme de la taille de tous les segments de mémoire pour lesquels le KMD n’a pas spécifié le membre PopulatedFromSystemMemory dans la structure DXGK_SEGMENTFLAGS pour chaque segment.

  • Mémoire système dédiée

    Cette valeur correspond à la somme de la taille de tous les segments de mémoire pour lesquels le KMD spécifie le membre PopulatedFromSystemMemory dans la structure DXGK_SEGMENTFLAGS pour chaque segment. Ce nombre ne peut pas être supérieur à la mémoire système totale disponible pour l’utilisation graphique (TotalSystemMemoryAvailableForGraphics).

  • Mémoire système partagée maximale

    Cette valeur est la quantité maximale de mémoire système partagée avec le GPU. VidMm utilise la formule suivante pour la calculer :

    MaxSharedSystemMemory = TotalSystemMemoryAvailableForGraphics - DedicatedSystemMemory
    
  • Mémoire système partagée

    Cette valeur est la quantité de mémoire système partagée avec le GPU. VidMm utilise la formule suivante pour la calculer :

    SharedSystemMemory = MIN(MIN(SumOfCommitLimitOnAllApertureSegment, DXGK_DRIVERCAPS.ApertureSegmentCommitLimit), MaxSharedSystemMemory)
    
  • Mémoire vidéo totale

    Cette valeur correspond à la quantité totale de mémoire vidéo. VidMm utilise la formule suivante pour la calculer :

    TotalVideoMemory = DedicatedVideoMemory + DedicatedSystemMemory + SharedSystemMemory
    

Les articles connexes sont les suivants :