【问题标题】:What is the difference between UI thread and rendering thread?UI线程和渲染线程有什么区别?
【发布时间】:2021-05-23 02:59:06
【问题描述】:

Microsoft 文档声明如下

通常,WPF 应用程序从两个线程开始:一个用于处理呈现,另一个用于管理 UI。渲染线程有效地隐藏在后台运行,而 UI 线程 接收输入、处理事件、绘制屏幕 并运行应用程序代码。

引自https://docs.microsoft.com/en-us/dotnet/desktop/wpf/advanced/threading-model

根据上面引用的官方文档,有2个线程:

  1. 渲染线程,进行渲染
  2. UI 线程,“绘制屏幕”?!

“绘制屏幕”是什么意思?是不是和其他线程做的“渲染”一模一样?

【问题讨论】:

  • docs.microsoft.com/en-us/troubleshoot/dotnet/framework/… 提供了相当丰富的信息 - 我认为 UI 线程告诉渲染线程要绘制什么,渲染线程将其转换为像素。
  • 是的,似乎是这样。谢谢!您能否添加一个答案,以便我投票和接受?
  • 我不想这样做,因为它基本上是一个仅链接的答案。我希望真正了解 WPF 的人可以准备添加具有真实经验的真实答案:)

标签: wpf multithreading graphics rendering


【解决方案1】:

WPF 有两个主要组件:一个是从user32 与Windows 操作系统交互。另一个基于DirectX

UI Thread 
         -> Message Bumping Thread 
         -> thread processing user interaction / task queuing (on user32).

渲染线程 -> 像素处理 (DirectX)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-17
    • 2017-04-08
    • 1970-01-01
    • 2019-03-13
    • 2012-08-07
    • 2018-05-21
    相关资源
    最近更新 更多