1. Dotnet9首页
  2. .NET
  3. WPF

Web端对比Wpf桌面端的一些劣势

现在web端成为主流,web端现在流行单页面应用,放浏览器或者程序嵌入webview或者electron随心所欲,似乎很完美。但是对我来说,web端真的是被虐无数,框架难用的事儿就不说了,说几点本质的和桌面端的差距。

1、渲染性能差,桌面端wpf自己的渲染速度都完爆web,更别提还可以用sharpdx甚至用cpp写个渲染层还能再快,比如我wpf上的chart组件性能完爆echart highchart好几条街,我这里一个折线chart 50w数据点,wpf随便跑个4个8个的,web一个就卡的不要不要了(见最后视频)。还有,我一个win10平板看web基本都卡,跑我写的wpf流畅无压力。我的平板跑office不卡,qq不卡,visualstudio不卡,以uwp为主力不卡,web端随便开点什么都在卡。

2、js也性能差,多线程利用困难,我程序里随手就用c#写个多线程优化下,但是换成js的话写起来就很困难了。

3、内存限制 v8把js内存限制在2g以下,我一个chart用echart渲染就900m了,三四个必挂。

4、权限问题 提权困难

5、互操作问题 比如调第三方给的cpp的dll,比如调com组件,调硬件,串口通信啥的乱七八糟的的,有些人为了一些功能各个浏览器都要买插件还挺贵,这是他做桌面时不会碰到的问题。

用electron启动速度还很慢,而桌面端基本都可以双击即启动

所以web做不了极致,处处会碰壁,只能退而求其次,把界面糊糊好,而wpf性能真的完爆掉web。

我的项目虽然不大,但是动不动就要开好几个tab去监控多个设备,谁让我们擅长的是八连罐呢,甚至支持几组八连罐,30秒采集一次甚至客户会10秒采集一次数据跑十几天,每罐每批次就是我说的50w点数据量,那数据量还得一口气拿出来对比着看,wpf做到无压力了,web端早被我玩坏了,我现在web端很多地方只能用右键新标签打开,否则只有手动在新标签敲url了,这样确保在新进程中打开,分散开不会崩溃,这一招你们需要知道么?大多数人不知道吧,我也是研究了半天,我需要知道,就因为这web端的破限制。

演示视频地址:https://video.zhihu.com/video/1199665347772854272?

播放不了,可点击上面的链接查看

wpf ↑

演示视频地址:https://video.zhihu.com/video/1205662899215319040?

播放不了,可点击上面的链接查看

原文出处:知乎【油面筋塞肉】

原文链接:https://zhuanlan.zhihu.com/p/102363022?utm_source=wechat_session&utm_medium=social&utm_oi=714039936084344832

本文观点不代表Dotnet9立场,转载请联系原作者。

发表评论

登录后才能评论