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

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

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

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

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

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

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

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


JoeDH
2024-10-05 20:36:43 +08:00
@jqtmviyu 阿里的都这样,用过的各类软件 淘宝 天猫 饿了么 一淘,没有一个说用的很顺畅的,其中最卡最恶心的应该是饿了么

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

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

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

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

© 2021 V2EX