探索D3D11On12:D3D11与D3D12的无缝连接
1、项目介绍
D3D11On12是一个创新的图形命令映射层,它将D3D11的图形指令转换为D3D12。这个项目并非D3D11 API的直接实现,而是一个用户模式的DDI(设备驱动接口)实施例,即d3d11on12.dll,而不是传统的d3d11.dll。通过选择创建D3D11On12设备,开发者可以在享受D3D11便捷性的同时,利用D3D12的高性能特性。
2、项目技术分析
当应用程序调用D3D11创建设备时,可以选择D3D11On12,此时运行时会加载d3d11on12.dll并初始化。D3D11验证并可能进行调试层的额外验证后,将命令转化为D3D11 DDI发送给D3D11On12。D3D11On12再将这些命令转译为D3D12 API调用,进一步经过D3D12运行时验证和调试层处理,并传递到D3D12驱动。
此外,D3D11On12是一种“启发式”D3D11驱动,具备额外的信息接收能力,以便在API层面而非驱动层面提供信息,或者支持互操作场景。设备创建时,会暴露ID3D11On12Device接口,允许应用同时提交D3D11和D3D12的工作,实现轻量级的共享和同步。
3、项目及技术应用场景
D3D11On12适用于需要升级旧版D3D11游戏或应用以利用D3D12性能优势的场合,而无需修改大量代码。这使得开发者可以逐渐过渡到D3D12,同时保持对现有D3D11生态系统的兼容性。
此外,对于跨平台的游戏开发团队,可以使用D3D11On12作为统一接口,在不同的硬件平台上实现D3D11和D3D12之间的平滑切换。
4、项目特点
- 无缝转换:D3D11On12能够透明地将D3D11命令映射到D3D12,让应用在不修改代码的情况下,享受到D3D12的性能提升。
- 智能驱动:D3D11On12作为“启发式”驱动,拥有更多的上下文信息,增强了API级别的控制和交互。
- 互操作性:提供
ID3D11On12Device接口,简化了D3D11和D3D12之间的资源共享和同步,降低了多API编程的复杂度。 - 持续改进:作为开源项目,社区可参与到bug修复和性能优化中,为Windows 10带来更稳定、高效的表现。
为了了解更多关于D3D11On12的详细信息,包括概念性和参考文档,以及博客更新,请访问DirectX Landing Page。
构建D3D11On12需要安装WDK,并使用CMake管理依赖。尽管该项目是Windows操作系统的一部分,其源码公开使开发者有机会深入了解如何使用D3D12TranslationLayer库,同时也有助于提高软件的质量和性能。
总之,D3D11On12为开发者提供了一个独特的桥梁,链接了D3D11的便利性和D3D12的强大性能,为图形开发开辟了新的可能性。无论是为了提升现有应用的性能,还是为了学习先进的图形技术,都值得你一试。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00