gpt4 book ai didi

graphics - 如何实现高速动画?

转载 作者:行者123 更新时间:2023-12-05 03:16:07 24 4
gpt4 key购买 nike

我正在尝试编写一个应用程序 (winforms),它可以演示两种振荡颜色如何产生第三种颜色。为此,我需要能够非常快速地在两种颜色之间切换(>50 fps)。我真的希望在托管代码中做到这一点。

现在我正在绘制两个彼此重叠的纯色小矩形位图。在启用双缓冲的控件中使用带有两个内存位图的 GDI+ DrawImage 不会削减它并导致高速闪烁/撕裂。连接到 slider 的计时器会触发切换。

  1. 这是明智的做法吗?
  2. GDI 和 BitBLT 会更好吗?
  3. WPF 性能更好吗?
  4. 关于 DirectX 或其他技术?

非常感谢您的反馈,TIA!

最佳答案

我从来没有用 GDI 来做高速图形,所以我使用了 DirectX,但是 MS 已经放弃了对 Managed DirectX 的支持,因此您可能需要在非托管 C++ 中执行此操作。

只需用 C# 编写您的 Controller ,然后有一个非常薄的托管 C++ 层,它只调用具有 DirectX 支持的非托管 C++ DLL。

您将需要获得计算机的独占控制权,这样就没有其他应用程序可以真正使用 cpu,否则您会发现您的帧率可能会下降,或者至少不会非常稳定。

如果您使用旧版本的 DirectX,例如 DirectX 9.0c,它可能仍然支持 .NET,我用它来获得大约 70 帧/秒的音乐程序的帧率。

关于graphics - 如何实现高速动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1324962/

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