Valve 工程师为 Linux 提出革命性显存分配优化方案,让 8GB 显卡重获新生
https://www.ithome.com/0/938/354.htm
https://www.tomshardware.com/~ (英文)
Vock 开发了新的内核补丁及两个专用工具,核心思路是让操作系统明确知道:当前正在前台运行的游戏拥有显存的“优先使用权”。当显存开始吃紧时,后台任务所占用的显存数据将被强制“溢出”到系统内存中,而游戏数据则纹丝不动。
在此之前,Linux 内核并不清楚该优先保留哪个程序的数据。一旦游戏占用显存过高,内核可能会将游戏数据移出显存,转而分配给后台的浏览器窗口等程序,从而导致游戏掉帧、出现卡顿。
Vock 用一张 8GB 显存的显卡以及《赛博朋克 2077》进行了测试。未应用补丁时,有 1.37GB 的数据被“溢出”到 GTT(图形转换表,负责告诉 GPU 去系统内存中找数据)。而此时游戏实际只占用了约 6GB 显存;应用补丁后,游戏使用了近 7.4GB 的显存,GTT 中的溢出数据降至仅 650MB。
————
仅适用于 AMD GPU,因为 NVIDIA 驱动的显存管理部分是闭源的
https://www.ithome.com/0/938/354.htm
https://www.tomshardware.com/~ (英文)
Vock 开发了新的内核补丁及两个专用工具,核心思路是让操作系统明确知道:当前正在前台运行的游戏拥有显存的“优先使用权”。当显存开始吃紧时,后台任务所占用的显存数据将被强制“溢出”到系统内存中,而游戏数据则纹丝不动。
在此之前,Linux 内核并不清楚该优先保留哪个程序的数据。一旦游戏占用显存过高,内核可能会将游戏数据移出显存,转而分配给后台的浏览器窗口等程序,从而导致游戏掉帧、出现卡顿。
Vock 用一张 8GB 显存的显卡以及《赛博朋克 2077》进行了测试。未应用补丁时,有 1.37GB 的数据被“溢出”到 GTT(图形转换表,负责告诉 GPU 去系统内存中找数据)。而此时游戏实际只占用了约 6GB 显存;应用补丁后,游戏使用了近 7.4GB 的显存,GTT 中的溢出数据降至仅 650MB。
————
仅适用于 AMD GPU,因为 NVIDIA 驱动的显存管理部分是闭源的