合并Wine代码以克服Vulkan性能惩罚

2024年 3月 3日 107.6k 0


本周,在定于下周五发布的Wine 9.4开发版本之前,合并了对使用新的Vulkan VK_EXT_MAP_Memory_Placed扩展的支持,以克服Windows 64位(WOW64)上的游戏/应用程序的性能损失。

正如在2月中旬提到的,当时Vulkan 1.3.278发布通过VK_EXT_MAP_MEMORY_PLACED扩展,这一新功能将有助于葡萄酒/蒸汽游戏。由Valve、AMD、NVIDIA、Collabora和CodeWeivers设计的扩展是与Wine on the Mind一起工作的。VK_EXT_MAP_MEMORY_PLACED允许请求将内存映射放置在特定的虚拟地址。这是Wine开发人员为了更好地支持32位Windows应用程序而要求的,同时使用64位Vulkan驱动程序。如果64位Vulkan驱动程序从vkMapMemory返回一个指针,而32位API使用者由于超出了32位范围而无法处理该指针,那么就有问题了。但通过利用VK_EXT_MAP_MEMORY_PLACES来确保内存对象在可接受的范围内,可以处理Wine上的32位Windows软件,从而使内存对象不会超出32位范围。

这个合并请求对于在WOW64上使用VK_EXT_MAP_MEMORY_PLACES进行内存映射,本周进行了合并,并将在下周五的Wine 9.4中找到。该合并请求解释了:

有了新的扩展,我们可以正确地实现WOW64,而不需要VK_EXT_EXTERNAL_MEMORY_HOST。这不仅更正确,而且性能更高(基本上消除了Vulkan WOW64的性能损失)。

NVIDIA Vulkan测试版驱动程序已经支持VK_EXT_MAP_MEMORY_PLACED,而RADV支持合并刚刚过去的这个星期五。NVK支持 for this extension is also found in Mesa 24.1-devel while so far I haven't seen any Intel ANV Vulkan driver patches for VK_EXT_map_memory_placed.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论