gpt4 book ai didi

winapi - Windows 7 GDI 加速之谜 : Can we Enable it Programmatically? 是的,我们(有点)可以!但如何呢?

转载 作者:行者123 更新时间:2023-12-02 11:38:53 24 4
gpt4 key购买 nike

注意:乍一看,这可能看起来像一个 super 用户问题,但请完整阅读它 - 这是一个编程问题。

<小时/>

所以they removed GDI acceleration from Windows 7 ,现在经典的主题动画看起来很恐怖。因为这是一个根本性的设计变更,所以没有办法修复它,对吗?

错了!

今天,当我在 VLC 媒体播放器运行时切换到经典 View (关闭了 Aero)时,我感到非常惊讶。通常情况下,最大化/最小化动画看起来很糟糕(它们几乎不显示),但是当 VLC 运行时,动画非常完美,就像在 XP 上一样!我一关闭 VLC,它们就又变得可怕了。 (当媒体播放时它们比播放器空闲时更好。)

以前,当我启动 3D 游戏并注意到动画有所改进时,我曾重现过此问题,但我认为这是与 DirectX 相关的问题。我试图找出哪些函数调用导致了改进,但没有运气。因此,今天当我注意到 VLC 的相同行为时,我感到非常惊讶,因为它播放视频,只播放音频(甚至不播放可视化!) - 然而播放音频提高了我的 GDI 图形性能,使得我认为也许,只是也许,Windows 7 确实有某种 GDI 加速功能。 (?)

在这种情况下,我的显卡是 NVIDIA GT 330M,并且 PowerMizer 已关闭。除了 VLC 是否正在运行之外,我已经控制了我能想到的每个变量,因此我几乎可以排除与显卡功能相关的任何内容。

<小时/>

现在我的问题是:

有谁知道哪些 API 调用可能会导致这种改进,以及它们是否实际上与图形相关?

我尝试制作一个程序,调用 IDirectDraw::CreateSurface 并简单地在后台运行(希望它能做与我的 3D 游戏相同的事情),但是不行;没有任何区别。我什至不确定是否是图形相关的 API 调用可能导致此问题,因为正如我所说,VLC 正在播放音乐,而不是视频。对我来说,这是一个谜,为什么多媒体应用程序运行时性能会提高,所以任何了解其中发生的事情的人都将不胜感激。 :)

最佳答案

这可能只是系统时钟滴答周期的一个因素。运行 VLC 可能会将时钟周期更改为每 1 毫秒,从而使动画运行得更加流畅。

使用Clockres检查运行和不运行 VLC 时的系统计时器分辨率,看看是否有差异。

请参阅timeBeginPeriod函数用于如何自行设置时间段。请记住,周期越短,CPU 在时钟周期之间的 sleep 时间就越少,并且运行温度越高。

关于winapi - Windows 7 GDI 加速之谜 : Can we Enable it Programmatically? 是的,我们(有点)可以!但如何呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5208676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com