計算圖形記憶體
在 VidMm 可以向用戶端報告精確的帳戶之前,必須先計算圖形記憶體的總數。 VidMm 會使用下列記憶體類型和公式來計算圖形記憶體數位:
系統記憶體總計
此值是操作系統可存取的系統記憶體總數。 BIOS 配置的記憶體不會出現在此數位中。 例如,具有 1 GB DIMM (1,024 MB) 的電腦,其 BIOS 保留 1 MB 的記憶體似乎具有 1,023 MB 的系統記憶體。
圖形使用可用的系統記憶體總計
此值是專用或共用至 GPU 的系統記憶體總數。 此數字的計算方式如下:
TotalSystemMemoryAvailableForGraphics = MAX((TotalSystemMemory / 2), 64MB)
光圈區段的認可限制
此值是 VidMm 允許內核模式顯示迷你埠驅動程式 (KMD) 在任何指定時間釘選 GPU 使用的系統記憶體數量。 也就是說,KMD 可以透過光圈區段進行記憶體對應的系統記憶體數量。 為 GPU 配置的系統記憶體總數可能會大大超過認可限制;不過, VidMm 可確保一次只有一個認可限制數量實際固定在光圈區段。
根據預設,特定光圈區段的認可限制是該區段的大小。 當驅動程式描述區段時,KMD 可以在DXGK_SEGMENTDESCRIPTOR 結構的 CommitLimit 成員中指定不同的認可限制。 以這種方式指定的認可限制僅適用於驅動程式所描述的特定區段。
除了每個區段認可限制之外,所有光圈區段都有全域認可限制。 此全域認可限制也稱為共享系統記憶體。 VidMm 會計算此值。 KMD 可以將此值縮減為DXGK_DRIVERCAPS 結構之 ApertureSegmentCommitLimit 成員中的較低值;不過,不建議這種做法。
VidMm 不允許 KMD 違反每個區段的認可限制,也不允許全域認可限制。 如果特定區段的認可限制為 1 GB,但全域認可限制為 256 MB,VidMm 不允許 KMD 將超過 256 MB 的系統記憶體對應至該區段。
專用視訊記憶體
此值是 KMD 未針對每個區段指定 DXGK_SEGMENTFLAGS 結構中 PopulatedFromSystemMemory 成員之所有記憶體區段的大小總和。
專用系統記憶體
此值是 KMD 針對每個區段指定 DXGK_SEGMENTFLAGS 結構中 PopulatedFromSystemMemory 成員之所有記憶體區段的大小總和。 這個數位不能大於圖形使用可用的系統記憶體總計(TotalSystemMemoryAvailableForGraphics)。
共用系統記憶體上限
此值是共用至 GPU 的系統記憶體數量上限。 VidMm 會使用下列公式來計算它:
MaxSharedSystemMemory = TotalSystemMemoryAvailableForGraphics - DedicatedSystemMemory
共用系統記憶體
此值是共用至 GPU 的系統記憶體數量。 VidMm 會使用下列公式來計算它:
SharedSystemMemory = MIN(MIN(SumOfCommitLimitOnAllApertureSegment, DXGK_DRIVERCAPS.ApertureSegmentCommitLimit), MaxSharedSystemMemory)
影片記憶體總計
此值是視訊記憶體的總數。 VidMm 會使用下列公式來計算它:
TotalVideoMemory = DedicatedVideoMemory + DedicatedSystemMemory + SharedSystemMemory
相關文章包括: