当前位置: 首页 > wzjs >正文

dede网站301怎么做wordpress 替代

dede网站301怎么做,wordpress 替代,做网站前怎么写文档,阿里云大使wordpress如果驱动程序将执行其自己的多处理器优化,则它不得实现 LockAsync、 UnlockAsync 和 Rename 函数。 在这种情况下,驱动程序必须调用 pfnSetAsyncCallbacksCb 函数,以通知运行时运行时是启动还是停止接收来自工作线程的运行时回调函数的调用。…

如果驱动程序将执行其自己的多处理器优化,则它不得实现 LockAsync、 UnlockAsync 和 Rename 函数。 在这种情况下,驱动程序必须调用 pfnSetAsyncCallbacksCb 函数,以通知运行时运行时是启动还是停止接收来自工作线程的运行时回调函数的调用。

如果驱动程序执行自己的多处理器优化,则应遵循 Direct3D 运行时在确定启用多处理器优化时使用的相同策略。 此策略允许跨所有进程公平共享系统资源。 具体而言,在以下情况下,驱动程序应禁用多处理器优化:

  • 应用程序在窗口模式下运行。
  • 计算机仅包含一个处理器 (或处理器核心) ;驱动程序应在具有超线程的单处理器计算机上禁用优化。
  • 应用程序请求不启用多处理器优化,或者应用程序使用软件顶点处理;此信息将传递到驱动程序的 CreateDevice 函数。

如果供应商想要在这些情况下启用多处理器优化,应首先联系 Microsoft。

1. 自主优化时的函数禁用

若驱动选择实现自己的多处理器优化,必须禁止实现以下异步函数:

禁用场景判断方法
窗口模式应用检查 PresentParameters.Windowed = TRUE
单核CPU(含超线程)通过 GetSystemInfo 获取 dwNumberOfProcessors = 1
应用显式请求禁用CreateDevice 的 BehaviorFlags 包含 D3DCREATE_SINGLETHREADED
软件顶点处理BehaviorFlags 包含 D3DCREATE_SOFTWARE_VERTEXPROCESSIN

驱动需显式通知运行时:
调用 pfnSetAsyncCallbacksCb 声明自主接管多线程控制:

// 在驱动初始化时调用
DXGKARG_SETASYNCCALLBACKS AsyncCallbacks = {0};
AsyncCallbacks.bDisableRuntimeThreading = TRUE; // 禁用运行时多线程回调
pDeviceFuncs->pfnSetAsyncCallbacksCb(hDevice, &AsyncCallbacks);

2. 多处理器优化的启用/禁用策略

驱动必须遵循与 Direct3D 运行时相同的资源公平共享策略,在以下场景强制禁用优化:

禁用场景判断方法
窗口模式应用检查 PresentParameters.Windowed = TRUE
单核CPU(含超线程)通过 GetSystemInfo 获取 dwNumberOfProcessors = 1
应用显式请求禁用CreateDevice 的 BehaviorFlags 包含 D3DCREATE_SINGLETHREADED
软件顶点处理BehaviorFlags 包含 D3DCREATE_SOFTWARE_VERTEXPROCESSING

代码示例:

BOOL ShouldEnableMultiprocessorOptimization(D3DDDIARG_CREATEDEVICE* pArgs,const SYSTEM_INFO* pSysInfo
) {// 检查禁用条件if (pArgs->BehaviorFlags & (D3DCREATE_SINGLETHREADED | D3DCREATE_SOFTWARE_VERTEXPROCESSING) ||pSysInfo->dwNumberOfProcessors == 1 ||pArgs->pPresentParams->Windowed) {return FALSE;}return TRUE;
}

3. 特例:厂商自定义优化

若厂商希望在禁用场景(如窗口模式)下仍启用优化,需:

  • 联系 Microsoft:提交优化方案的技术与安全性评估。
  • 实现隔离机制:确保不影响其他进程的资源公平性(如限制GPU占用率)。

4. 多线程安全要求

注意事项实现要求
资源竞争使用原子操作或锁保护共享状态(如命令队列)。
内存一致性对GPU可见内存使用 MemoryBarrier 保证数据同步。
线程优先级避免高优先级线程饿死系统任务(如 THREAD_PRIORITY_NORMAL)。

示例(命令队列线程安全):

std::atomic<UINT> m_CommandCount;void SubmitCommand(COMMAND* pCmd) {UINT idx = m_CommandCount.fetch_add(1, std::memory_order_acq_rel);m_CommandQueue[idx] = *pCmd;
}

5. WHCK 认证测试项

测试项验证目标
Device.Graphics.UMD.MultiThreadSafety自主优化下的线程安全性(无崩溃/死锁)。
Device.Graphics.UMD.SingleProcessor单核CPU时优化是否正确禁用。
Device.Graphics.UMD.WindowedMode窗口模式下优化是否禁用

6. 调试建议

工具:

  • Windows Performance Analyzer (WPA):分析线程竞争与调度延迟。
  • DirectX Debug Runtime:检测非法跨线程调用。

日志:记录优化开关状态与线程ID,便于问题追踪。

7. 总结

核心规则:

  • 自主优化需禁用 LockAsync/UnlockAsync/Rename,并通过 pfnSetAsyncCallbacksCb 通知运行时。
  • 严格遵循微软的优化禁用条件,除非获得特批。

性能与安全的平衡:多线程优化需以系统稳定性为前提,避免独占GPU资源。

http://www.dtcms.com/wzjs/835203.html

相关文章:

  • 鹤壁市建设局网站法国网站域名
  • 只做绿色食品的网站黄骅市天气预报最新
  • 怎么做网站生意thinkphp商城源码
  • 黑龙江省建设协会网站响应式企业展示型网站
  • 纪检监察信息网站建设电商网站模块有哪些
  • 做阿里巴巴网站店铺装修费用重庆网站建设的价格低
  • 网站建设基本情况网站管理员怎样管理员权限
  • 免费h5模板网站模板如何做好网站内容优化
  • 甘肃网站怎样备案怎么查看网站建设时间
  • 设置个网站要多少钱建设银行的网站你打不开
  • 替别人做网站管理员南宁模板做网站
  • 商务网站建设学期总结山西设计网站公司
  • 织梦系统做网站免费软件下载存在哪些风险
  • 服务器网站搭建教程搜索引擎优化的英文
  • 网站开发人员配置济南住房和城乡建设厅网站
  • 小县城做婚礼网站手机网站开发框架
  • 葛洲坝机电建设有限公司网站建设工程业绩补录 网站
  • 国外优秀论文网站网站微信认证
  • 青岛外贸网站推广外贸网站空间选择
  • 做网站公司排名效果图制作好学吗
  • 贵州两学一做教育网站佛山网站建设首选
  • 做会计一般关注什么网站石家庄网站建设公司排名
  • 惠州建站公司宁波网站建设制作网络公司
  • 镇海做网站牡丹江关键词优化
  • 做网站平台的公司山西一配网络科技有限公司
  • 雨伞设计公司logo网站建设优化工资高不
  • 贵州城乡住房建设厅网站中国制造货源网一件代发
  • 网站建设记在哪个科目媒易网络网站建设培训
  • 成都优化网站公司营销型网站开发
  • 企业网站建设目的是什么wordpress models