Cálculo de la memoria de gráficos
Antes de que VidMm pueda informar de una cuenta precisa a los clientes, primero debe calcular la cantidad total de memoria de gráficos. VidMm usa los siguientes tipos de memoria y fórmulas para calcular números de memoria de gráficos:
Memoria total del sistema
Este valor es la cantidad total de memoria del sistema accesible para el sistema operativo. La memoria que asigna el BIOS no aparece en este número. Por ejemplo, un equipo con un DIMM de 1 GB (1024 MB) que tiene un BIOS que reserva 1 MB de memoria parece tener 1023 MB de memoria.
Memoria total del sistema disponible para el uso de gráficos
Este valor es la cantidad total de memoria del sistema dedicada o compartida en la GPU. Este número se calcula de la siguiente manera:
TotalSystemMemoryAvailableForGraphics = MAX((TotalSystemMemory / 2), 64MB)
Límite de confirmación en el segmento de apertura
Este valor es la cantidad de memoria del sistema que VidMm permite que los controladores de minipuerto de pantalla en modo kernel (KMD) anclen para el uso de GPU en cualquier momento dado. Es decir, es la cantidad de memoria del sistema que los KMD pueden asignar a través de un segmento de apertura. La cantidad total de memoria del sistema que se asigna a la GPU puede exceder en gran medida el límite de confirmación; sin embargo, VidMm garantiza que en un segmento de apertura solo resida hasta una cantidad límite de confirmación en un momento dado.
De forma predeterminada, el límite de confirmación en un segmento de apertura determinado es el tamaño de ese segmento. El KMD puede especificar un límite de confirmación diferente en el miembro CommitLimit de la estructura DXGK_SEGMENTDESCRIPTOR cuando el controlador describe el segmento. Un límite de confirmación especificado de tal manera solo se aplica al segmento determinado que describe el controlador.
Además del límite de confirmación por segmento, hay un límite de confirmación global en todos los segmentos de apertura. Este límite de confirmación global también se conoce como memoria del sistema compartido. VidMm calcula este valor. Un KMD puede reducir este valor a un valor inferior en el miembro ApertureSegmentCommitLimit de la estructura DXGK_DRIVERCAPS; sin embargo, no se recomienda esta práctica.
VidMm no permite que un KMD infrinja el límite de confirmación por segmento ni el límite de confirmación global. Si un segmento determinado tiene un límite de confirmación de 1 GB, pero el límite de confirmación global es de 256 MB, VidMm no permite que un KMD asigne más de 256 MB de memoria del sistema a ese segmento.
Memoria de vídeo dedicada
Este valor es la suma del tamaño de todos los segmentos de memoria para los que el KMD no especificó el miembro PopulatedFromSystemMemory en la estructura DXGK_SEGMENTFLAGS para cada segmento.
Memoria del sistema dedicada
Este valor es la suma del tamaño de todos los segmentos de memoria para los que el KMD especifica el miembro PopulatedFromSystemMemory en la estructura DXGK_SEGMENTFLAGS para cada segmento. Este número no puede ser mayor que la memoria total del sistema que está disponible para el uso de gráficos (TotalSystemMemoryAvailableForGraphics).
Memoria máxima del sistema compartida
Este valor es la cantidad máxima de memoria del sistema que se comparte con la GPU. VidMm usa la fórmula siguiente para calcularla:
MaxSharedSystemMemory = TotalSystemMemoryAvailableForGraphics - DedicatedSystemMemory
Memoria del sistema compartida
Este valor es la cantidad de memoria del sistema que se comparte con la GPU. VidMm usa la fórmula siguiente para calcularla:
SharedSystemMemory = MIN(MIN(SumOfCommitLimitOnAllApertureSegment, DXGK_DRIVERCAPS.ApertureSegmentCommitLimit), MaxSharedSystemMemory)
Memoria total de vídeo
Este valor es la cantidad total de memoria de vídeo. VidMm usa la fórmula siguiente para calcularla:
TotalVideoMemory = DedicatedVideoMemory + DedicatedSystemMemory + SharedSystemMemory
Entre los artículos relacionados se incluyen: