- 主题:其实 Qt 应该改进为双线程模型
UI 线程是程序员代码参与的那一个。
再弄个渲染线程没错的啊。
【 在 xeagle (静下心来编程) 的大作中提到: 】
: 从名称来看, 新线程叫 rendering thread, 不是 UI 线程
--
FROM 124.72.118.*
多少码农连多线程下具体哪些资源需要保护都没搞清楚。。。
--
FROM 222.126.245.*
这个一般是 GUI 线程处理的。
对于程序员,仍然只看到一个线程。
程序员只要通知 GUI 框架,比如我改变了复选框的状态,GUI 框架就在 GUI 线程修改状态,并且向渲染线程发送渲染命令。发送完,程序员可以立即做其它的计算,而不用等待 GUI 的更新。
【 在 hongdiao (hongdiao) 的大作中提到: 】
: 多少码农连多线程下具体哪些资源需要保护都没搞清楚。。。
--
FROM 124.72.118.*
这个双线程感觉和你说的双线程不太一样
【 在 hgoldfish 的大作中提到: 】
:
: UI 线程是程序员代码参与的那一个。
:
: 再弄个渲染线程没错的啊。
:
: --
: 灭绝人性啊
发自「今日水木 on iOS」
--
FROM 123.125.37.*
GUI 的双线程一般都是我这种模型。还有浏览器的模型就更复杂了用的双进程模型。js 运行的进程和图形显示的进程都是不一样的。
【 在 xeagle (静下心来编程) 的大作中提到: 】
: 这个双线程感觉和你说的双线程不太一样
: 发自「今日水木 on iOS」
--
FROM 124.72.118.*
我在用qtquick/qml开发,render是独立线程的。
QSG_RENDER_LOOP=threaded也可以指定。
【 在 hgoldfish 的大作中提到: 】
: Qt 渲染本身发生于 UI 线程。
: 当检测到用户点击、键盘事件的时候,传递到另外一个业务线程,用户的代码运行在这个业务线程里面。
: 如果业务线程里面设置了控件的属性值,再传递到 UI 线程处理,更新用户界面。
: ...................
--
FROM 123.123.245.*
本来就是这个主线程嘛,可能会引起卡顿的操作直接丢到多线程里运行就可以了(Qthread),如果需要更新UI可以在多线程里emit signal处理。
【 在 hgoldfish 的大作中提到: 】
: Qt 渲染本身发生于 UI 线程。
:
: 当检测到用户点击、键盘事件的时候,传递到另外一个业务线程,用户的代码运行在这个业务线程里面。
:
: 如果业务线程里面设置了控件的属性值,再传递到 UI 线程处理,更新用户界面。
:
: 使用双线程的模型,才能保证用户界面足够顺滑对
: ..................
发自「今日水木 on LYA-AL00」
--
FROM 114.250.105.*