gpt4 book ai didi

c# - 获取快照会减慢 UI - 需要线程吗?

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:29 25 4
gpt4 key购买 nike

我目前正在开发一个连接到外部摄像头的 WPF/C# 应用程序。该应用程序从相机获取快照,然后进行一些分析并通过用户界面将其显示在屏幕上。界面上还有许多其他 UI 元素(例如按钮、菜单和组合框)。现在,当应用程序正在运行时,用户界面会明显变慢——例如,一个组合框,一旦被点击,可能会在打开前卡住一秒钟。然后它可能会在允许用户选择一个值之前再次卡住。我很确定这是因为快照的获取发生在与所有 UI 相同的线程上,但是,我对正确使用线程非常天真,而且我完全不知道如何正确解决这个问题.基本上,我希望 UI 的速度不会明显变慢,即使我从相机中检索图像的最快速度似乎约为 1/秒。我怎么能把它分成多个线程呢?这对我的问题有帮助吗?非常感谢;非常感谢任何帮助。

最佳答案

如果不使用 .NET 4,您可以使用 BackgroundWorker。

BackgroundWorker worker = new BackgroundWorker();

worker.DoWork += (s, e) =>
{
// Perform things on the background thread here.
};
worker.RunWorkerCompleted += (s, e) =>
{
// Code to be run after the thread is done, on the UI-thread.
};
worker.RunWorkerAsync();

关于c# - 获取快照会减慢 UI - 需要线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3702116/

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