首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IddCx驱动程序帧结巴,可能是由OS版本问题引起的

IddCx驱动程序帧结巴,可能是由OS版本问题引起的
EN

Stack Overflow用户
提问于 2022-03-17 18:34:54
回答 1查看 120关注 0票数 0

我正在开发一个IddCx间接显示驱动程序。我遇到了一个错误,我找不到任何理由将自己的代码归咎于此。每两秒钟左右,IddCxSwapChainReleaseAndAcquireBuffer需要超过100毫秒,高达8000毫秒才能完成。它通常需要16毫秒以下完成(取决于您的帧速率)。

我甚至在微软的IddCx样本代码上添加了时间戳。它仍然存在这个问题,所以它不可能是我自己的代码的错误。我已经用尽了大部分调试选项。

  • 通过针对libs、标头和定义宏(IDDCX_VERSION_MAJOR、IDDCX_VERSION_MINOR、IDDCX_MINIMUM_VERSION_REQUIRED)来修改我正在编译的IDDCX_VERSION_MAJOR版本(1.4到1.8)。1.9tw似乎运行不好,如果我选择版本1.9,IddCxDeviceInitConfig()会在参数无效的情况下失败。
  • 更改我正在编译的UMDF版本(2.25到2.33)。
  • 更改我使用的Windows版本(10.0.19041.0,10.0.20348.0,10.0.22000.0,10.0.22572.0)。
  • 将我的操作系统交换到win11的内部程序预览版本(目前为22000.588 co_release)。

一些我认为可能是我需要帮助的解决方案。

  • 当我在dxdiag中运行驱动程序时,显示显示它使用的是WDDM版本1.3,而我的其他显示器则使用WDDM版本3.0。WDDM 1.3是旧的,所以这可能会引起问题吗?如何告诉visual studio编译我的驱动程序以使用WDDM版本3.0进行编译?我的司机需要先打个标志吗?
  • IddCxGetVersion()随版本1801或1803返回,无论我更改了什么(SDK、IDDCx版本等等),都是2018年开始的!那么,为了让操作系统选择使用更新版本的IddCx,我做错了什么呢?这可能与WDDM版本为1.3而不是3.0有关。
  • 我最初切换到Windows 11,因为WDK dev环境是完全不稳定的,这些示例有时不会创建函数驱动程序,无法调用‘EVT_IDD_CX_适配器_INIT_ compiled’,我已经确认它在Windows 10上编译错误(有时),当天早些时候的旧dll仍然工作,但是新的dll不会工作。这就是为什么我要继续使用Windows 11,我也需要换到Windows 11,因为我们应该向前移动,而不是向后移动。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-25 04:20:33

忘了关闭这个。

意识到问题是,监视器桌面根本没有更新。因此,操作系统只是减少了桌面渲染的频率,导致更少的帧被推到交换链上,让我抓取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71517424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档