1
oukichi 84 天前
你咋测的?
|
2
drymonfidelia OP @oukichi 写了几个比较极端场景的 demo ,已确认是 release build ,滑动掉帧很严重,多点两下就闪退了。还不如 MAUI 和 React Native (这两个也很卡,但是比 Flutter 强多了)
而且用起来感觉像游戏引擎 |
3
Morxi 84 天前 3
两边都用过,Qt 写出来的桌面应用基本调的都是原生组件,保证不了多端一致性,跨平台也没办法做到不对目标平台 wrapper 的情况下舒服的跑(除非只用 Qt 自带的库不用第三方库)
flutter 就是跑了 Dart VM ,然后构建的产物和必要的库一打包,和浏览器那套也差不多。 真要比也应该拿 Qt/Embedded 这套去比性能,这是直接接 Frame buffer ,其他调用上层原生 GUI 的 Qt 产物都是蹭了系统支持的红利 我之前所在的汽车电子已经全面转向 Flutter 了,之前有一些厂商用虚幻引擎或者 Unity 做智能座舱,结果这俩都要收大钱。然后 Qt 之流开发效率慢,做出来不好看。 上 GPU 优化以后的 Flutter 就很猛 |
4
Morxi 84 天前 1
补一个具体场景,同一辆车智驾版仪表跑的是鸿蒙,新能源版跑的是 Linux ,然后货运版是 QNX 。现在已经有一套开发好的仪表界面给这堆大屏用...
然后界面要一致,第三方库也要能复用,还有什么比类游戏引擎的玩意更合适的呢。 以前大家都是 QNX 的时候倒是满街 Qt ,可惜现在自研系统不要太多 |
5
jeesk 84 天前
既然是极端场景, 有试过用原生写吗?
|
6
WildCat 84 天前
说个离题的话,做跨平台 UI 最好的选择一直都是 web 。
其次 React Native 。 Qt 那种也就维护一下老项目。 |
7
bringwin808 84 天前 via Android 2
@Morxi 并不是,Qt 也是自绘的,以前 windows 上一堆 DirectUI 实现。
|
8
kele999 84 天前
你是对的
|
9
alphaControler 84 天前 via Android
QT 是要付费的吧?
|
10
dbskcnc 84 天前 via Android 8
点两下就闪退了,这个程序还有比较性能的必要吗?我咋看都像是人的问题居多.
有一说一,代码亮出来录个视频啥的,这个才是基本的态度,啥都没有,一个生手光输出情绪,其实没有交流的价值 |
11
sir283 84 天前
你把 Flutter 当作一个 chrome 浏览器+web ,就能理解了,极端情况下,Flutter 开发可能存在优化,但是大部分的开发者使用 Flutter 是完全没有优化的,比如咸鱼、某红色 app 、某些银行 app ,以及一堆小众 app 。
|
12
jorneyr 84 天前 2
@Morxi 两边都用过,Qt 写出来的桌面应用基本调的都是原生组件。
你确定? QWidget 的组件样式是原生风格,但组件实际是 Qt 自己画出来的,不是调用系统自己的 Ui 框架。 |
13
jqtmviyu 84 天前
说真的, 只要闲鱼还在一天, 就是在为 Flutter 拉黑.
开发团队发了一堆什么 xx 优化的文章, 结果应用卡顿掉帧, 真不脸红的吗? |
14
zhwguest 84 天前
先修复点两下就崩溃的问题再测试性能吧,不能把所有的锅都推到 flutter 上。
|
16
Shazoo 84 天前
QT 调用原生组件吗……
要不你再研究研究下吧…… 至于跨平台风格,一般是设置下 QSS 即可保证风格一致。如果不设置,就是系统默认风格。 |
17
Helsing 84 天前 via iPhone
严重怀疑你写的代码有问题,你用 GPT 写个代码测试都比你写的有说服力
|
18
GeekGao 83 天前
" 不知道为什么这么多人吹 "
众人皆醉你独醒 ? 技术圈内的人可不是普通 p 民吧,至少大多数也是实践派了,你觉得他们怎么会拥抱垃圾技术呢? |
19
wxf666 83 天前
|
21
neoblackcap 83 天前
@wxf666 重绘没啥性能问题,就是对移动端不是很友好,毕竟耗能。即时模式 GUI 一直都有的,而且基本上对图形渲染有要求的需求,都是得用即时模式。
如果卡顿的话,应该是没处理好事件响应 |
22
Rrrrrr 83 天前
你来弄一个?我也觉得没哪个好用
|
23
Morxi 83 天前
@jorneyr
@Shazoo @bringwin808 我之前主要做 Qt/Embedded 开发,做多平台支撑的时候遇到过 Qt 打包直接交互异常,主要集中在按钮效果和富文本。实际应用也只限于做 QWindow ,涉及到的交互很少。 我也没说 Qt 没有元素自绘,弄个 EGL 做播放器之类的需求也场景也正常,真的展开来还是得看用的后端是啥。 |
24
1una0bserver 83 天前 via Android
flutter ,react native ,compose multiplatform ,qml ,uniapp 都写过,我感觉在 85%场景稍微注意下写法性能都不会太差,所以我在这里也下一个暴论,是你水平不行,要么就是写法不对。毕竟你连测试代码和场景都没有说明白,就抛出你的观点让人接受,有点先射箭后画靶子的味道了。
|
25
jorneyr 83 天前
@Morxi Qt 的 Ui 快应该主要原因是 C++ 本身的效率高,再加上 Qt 优化的好,极端的例如 ImGui 这种也是基于 C++ 的并且固定频率刷新界面而不是需要的时候才刷新界面的都很快。
至于 Graphics View 框架更是通过 space partition 算法,可见范围内才显示,能够支持百万图元的高效显示 (如果百万图元都在可视范围内一样很慢)。 |
26
aLazarus 83 天前
话说现在类似 electron 框架,对 windows 触控设备支持的好么?就比如在 tab 之间通过手势滑动切换这种功能做到么
|
27
iorilu 82 天前
qt 本来就是原生把, 都是 c++还不算原生吗, 难度要汇编才算
|
28
wxf666 82 天前
@neoblackcap #21
> 对图形渲染有要求的需求,都是得用即时模式。 这个怎么理解呢? 浏览器渲染,比这些客户端复杂吧。。可浏览器也是局部重绘的呀? 《开发工具》里,甚至有《突出显示需要重新绘制的区域》的选项。。 而且滚动条拉太快,下方的画面,会是一堆白色框框,还未渲染出来呢。。 如果一直是全屏重绘,滚动条拉到哪,绘制量不都差不多吗?上方能 60 Hz 刷新,下方咋就出白框框了呢。。 另外,前几年 老 Edge 浏览器,不是更被谷歌使绊子,油管视频上方放特殊元素,就变得卡顿,耗电激增吗? 如果一直是全屏重绘,增加这点绘制量,咋会让 老 Edge 这么吃亏呢。。 |
29
neoblackcap 82 天前
@wxf666 我只能说事实就是游戏,创作类软件,甚至 vscode 的编辑区都是使用即时模式自绘渲染的。而日常的很多软件的确是使用 Retained Mode (保留模式)渲染,箇中原因我也不清楚
|
30
wxf666 82 天前
|
31
neoblackcap 82 天前
@wxf666 那就是我错了,一切以事实为准
|
32
bringwin808 82 天前 via Android
@Morxi 这么看,你是用 QtWigets 老一套了,这套在 Windows 和 MacOS 上都是自绘的,而且还是软件渲染。
|
33
forwen 65 天前
|