支持多个处理器
发布时间:2022-10-19 13:03:45 所属栏目:Windows 来源:
导读: 支持多个处理器本文内容
多处理器计算机上的用户模式显示驱动程序允许 Microsoft Direct3D 运行时处理多处理器优化,或者驱动程序可以执行自己的多处理器优化。
运行时处理Multiple-Processor优
多处理器计算机上的用户模式显示驱动程序允许 Microsoft Direct3D 运行时处理多处理器优化,或者驱动程序可以执行自己的多处理器优化。
运行时处理Multiple-Processor优
|
支持多个处理器本文内容 多处理器计算机上的用户模式显示驱动程序允许 Microsoft Direct3D 运行时处理多处理器优化,或者驱动程序可以执行自己的多处理器优化。 运行时处理Multiple-Processor优化 Direct3D 运行时处理的多处理器优化仅在支持 LockAsync、 UnlockAsync 和 Rename 函数的驱动程序 上 启用。 这些函数使多处理器优化能够很好地处理经常锁定动态资源的应用程序。 LockAsync 和 UnlockAsync 函数(以及 GetQueryData 函数)必须在公开 DDI 版本或更高版本的驱动程序上重新0x0000000B。 驱动程序在调用驱动程序的 OpenAdapter 函数时返回 D3D10DDIARG_OPENADAPTER 结构的 DriverVersion 成员中的 DDI 版本值。 当运行时以可重入的方式调用驱动程序函数时,一个线程可以在该函数内执行,而引用同一显示设备的另一个线程在另一个驱动程序函数内执行。 在某些情况下,Direct3D 运行时使用多处理器优化将工作卸载到单独的处理器并提高计算机性能。 启用多处理器优化后,Direct3D 运行时和用户模式显示驱动程序之间会添加一个额外的软件层。 此软件层会截获 Direct3D 运行时将其他方式对用户模式显示驱动程序的功能进行的所有调用。 软件层将命令排队成工作线程异步处理的批windows处理器,而不是直接调用用户模式显示驱动程序。 但是,软件层无法批处理对用户模式显示驱动程序的功能进行的所有调用。 具体而言,软件层无法批处理对返回信息的函数的调用 (例如 CreateResource) 。 当软件层必须调用这些类型的驱动程序函数之一时,它会通过工作线程刷新所有排队的命令,然后软件层在主应用程序线程上调用驱动程序函数。 驱动程序处理Multiple-Processor优化 如果驱动程序将执行自己的多处理器优化,则它不得实现 LockAsync、 UnlockAsync 和 Rename 函数。 在这种情况下,驱动程序必须调用 pfnSetAsyncCallbacksCb 函数来通知运行时运行时是启动还是停止从工作线程接收对运行时回调函数的调用。 如果驱动程序执行自己的多处理器优化,则它应遵循 Direct3D 运行时在决定启用多处理器优化时使用的相同策略。 此策略允许跨所有进程公平共享系统资源。 具体而言,驱动程序应在以下情况下禁用多处理器优化: 如果供应商希望在这些情况下启用多处理器优化,应首先联系 Microsoft。 (编辑:应用网_扬州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐



浙公网安备 33038102330458号