为什么 Qt 写的程序在不同桌面平台都很丝滑,体验和原生一样,移动端多端框架每一个都很卡?尤其是 Flutter,实测性能非常糟糕,不知道为什么这么多人吹

44 天前
 drymonfidelia
5122 次点击
所在节点    前端开发
33 条回复
oukichi
44 天前
你咋测的?
drymonfidelia
43 天前
@oukichi 写了几个比较极端场景的 demo ,已确认是 release build ,滑动掉帧很严重,多点两下就闪退了。还不如 MAUI 和 React Native (这两个也很卡,但是比 Flutter 强多了)
而且用起来感觉像游戏引擎
Morxi
43 天前
两边都用过,Qt 写出来的桌面应用基本调的都是原生组件,保证不了多端一致性,跨平台也没办法做到不对目标平台 wrapper 的情况下舒服的跑(除非只用 Qt 自带的库不用第三方库)
flutter 就是跑了 Dart VM ,然后构建的产物和必要的库一打包,和浏览器那套也差不多。
真要比也应该拿 Qt/Embedded 这套去比性能,这是直接接 Frame buffer ,其他调用上层原生 GUI 的 Qt 产物都是蹭了系统支持的红利
我之前所在的汽车电子已经全面转向 Flutter 了,之前有一些厂商用虚幻引擎或者 Unity 做智能座舱,结果这俩都要收大钱。然后 Qt 之流开发效率慢,做出来不好看。 上 GPU 优化以后的 Flutter 就很猛
Morxi
43 天前
补一个具体场景,同一辆车智驾版仪表跑的是鸿蒙,新能源版跑的是 Linux ,然后货运版是 QNX 。现在已经有一套开发好的仪表界面给这堆大屏用...
然后界面要一致,第三方库也要能复用,还有什么比类游戏引擎的玩意更合适的呢。
以前大家都是 QNX 的时候倒是满街 Qt ,可惜现在自研系统不要太多
jeesk
43 天前
既然是极端场景, 有试过用原生写吗?
WildCat
43 天前
说个离题的话,做跨平台 UI 最好的选择一直都是 web 。
其次 React Native 。

Qt 那种也就维护一下老项目。
bringwin808
43 天前
@Morxi 并不是,Qt 也是自绘的,以前 windows 上一堆 DirectUI 实现。
kele999
43 天前
你是对的
alphaControler
43 天前
QT 是要付费的吧?
dbskcnc
43 天前
点两下就闪退了,这个程序还有比较性能的必要吗?我咋看都像是人的问题居多.
有一说一,代码亮出来录个视频啥的,这个才是基本的态度,啥都没有,一个生手光输出情绪,其实没有交流的价值
sir283
43 天前
你把 Flutter 当作一个 chrome 浏览器+web ,就能理解了,极端情况下,Flutter 开发可能存在优化,但是大部分的开发者使用 Flutter 是完全没有优化的,比如咸鱼、某红色 app 、某些银行 app ,以及一堆小众 app 。
jorneyr
43 天前
@Morxi 两边都用过,Qt 写出来的桌面应用基本调的都是原生组件。
你确定? QWidget 的组件样式是原生风格,但组件实际是 Qt 自己画出来的,不是调用系统自己的 Ui 框架。
jqtmviyu
43 天前
说真的, 只要闲鱼还在一天, 就是在为 Flutter 拉黑.
开发团队发了一堆什么 xx 优化的文章, 结果应用卡顿掉帧, 真不脸红的吗?
zhwguest
43 天前
先修复点两下就崩溃的问题再测试性能吧,不能把所有的锅都推到 flutter 上。
mayli
43 天前
@Morxi 的确,有 gpu 渲染加速的话,flutter 不算慢。但是有些平台至今 gpu 渲染也不成熟。
Shazoo
43 天前
QT 调用原生组件吗……

要不你再研究研究下吧……

至于跨平台风格,一般是设置下 QSS 即可保证风格一致。如果不设置,就是系统默认风格。
Helsing
43 天前
严重怀疑你写的代码有问题,你用 GPT 写个代码测试都比你写的有说服力
GeekGao
43 天前
" 不知道为什么这么多人吹 "
众人皆醉你独醒 ? 技术圈内的人可不是普通 p 民吧,至少大多数也是实践派了,你觉得他们怎么会拥抱垃圾技术呢?
wxf666
43 天前
别的不知道,但 Flutter 应用,每一帧都是全屏重绘的。不知这点是否有拖慢响应,使得交互有滞后感。。

理由:我以前测试,丢复杂文本进编辑框后,全窗口都会变卡顿。。

按理说,与文本框无重叠的元素,应该不卡顿才对呀。。

(下面是当时测试的,两个 Flutter 应用,录制的 GIF )


JoeDH
43 天前
@jqtmviyu 阿里的都这样,用过的各类软件 淘宝 天猫 饿了么 一淘,没有一个说用的很顺畅的,其中最卡最恶心的应该是饿了么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1077711

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX