我在 YouTube 上观看了有关如何充分发挥集成 GPU 性能的视频,视频指导如何将上述注册表项的数据从 更改SharedSection=1024,3072,512
为SharedSection=1024,30720,512
:
- 这实际上起什么作用?
- 这对游戏过程中的性能有何影响?
- 它安全吗?
- 如果不使用,难道不能做同样的事情吗
regedit
?
我google了一下,所有的答案都是关于并发策略的数量,但是我不是很理解,也没有发现这和集成GPU性能有什么关系。
答案1
并行进程通常需要共享数据的方法,因此 Windows 提供了一个共享堆(堆是用于动态内存分配的内存池),多个进程可以访问。通常,流程在它们可以访问的内存中完全隔离,因此共享内存结构允许它们进行协作。
Windows 为所有系统进程创建一个系统堆,为在特定交互式用户会话下运行的所有进程创建一个桌面堆,并为在非交互式会话中无头运行的进程创建一个非交互式桌面堆。
您突出显示的键的语法是:
SharedSection=[system],[desktop],[noninteractive]
所有值均以 KB 为单位。
此注册表项允许您配置每个堆,建议的设置将每个交互式会话下运行的进程可用的共享堆从 3,072KB 增加到 30,720KB
这个设置看起来足够安全;一般来说,拥有更多的共享堆可以让进程共享更多的信息,但在这种情况下,它几乎肯定是为了支持创建许多进程,这些进程的线程使用共享内存执行任务。
微软提到共享堆与 Direct3D 和 DirectX 结合使用它们来存储纹理,并且特别提到共享堆可用于映射到跨 GPU 等多个设备的数据,并避免 CPU 对 RAM 进行编组。