关于大型客户端项目的思考

发布时间:2023-06-07 13:42:58     来源:博客园
大型客户端项目在使用过程中一般会面临几个问题:

a. 启动慢b. 运行慢c. 稳定性低基于以上问题进行一些思考,最终总结出该方案.

解决方案

当项目过大时,需要加载的程序集也越多,对应程序需要启动的时间也越长,如果在这个时候有一个启动的过渡页,从使用的角度看,能在启动后快速看到程序反应,则在某种程度上加快了程序的启动速度.


【资料图】

以VS2022为例,在启动的时候并不是第一时间去加载整个IDE窗口,而是使用了一个过渡,先启动一个启动页再过渡到导航窗口,来选择要编辑的项目,再而去加载整个编辑界面.即:启动窗口->导航窗口->编辑窗口启动窗口时,可以看到VS主进程并没有真正启动,而是到导航窗口时才启动,这个时候也只是启动了7个子进程,直到编辑窗口时,以我的设置为例子进程数运行到13个,达到真正使用的状态.那么退回来讲,如果在启动时,直接把这13个子进程的事情合并到一个主进程来做,可想而知,启动速度会慢多少倍而这个情况正是我们在开发客户端项目时使用的逻辑.所以以此为鉴,要做的就是拆分主进程.

从稳定性来说,不管是VS还是CEFSharp,也都是采用多进程的方法,我在使用VS2022的时候遇到过某个模块功能崩溃但不影响主功能使用的情况,而CEFSharp中的CefSharp.BrowserSubprocess进程更是为每个页启动一个进程来做渲染等工作,好处则是即使其中一个页面崩溃,也不影响其他页面.我在开发过程中集成过好多第三方SDK,不限于腾讯阿里,但都在使用过程中遇到各种问题导致SDK内部崩溃,使整个程序崩溃的情况,这些也并不能通过良好的代码及经验来规避,只能等待SDK方去解决,但最终不管是体现在领导或用户方,都是开发人员来背锅,那么要怎么甩锅,我认为依然是多进程.

那说了这么多,多进程真的那么好么?好是真的好,但也要从实际业务去考虑

优点:
启动快,安全性高,稳定性高,且可以更好的利用CPU
缺点:
启动进程成本高,进程间通讯成本高

所以并不能一味的去靠多进程,如果存在大的模块或者第三方服务时,才应该去考虑多进程实现.

多进程架构实现

说了这么说,那么以一个调用阿里播放器SDK的程序为例来进行一个实现.

Shell进程:展示欢迎页检测版本更新当存在版本更新时,直接对主程序集进行更新[主进程也可增加反更新Shell逻辑],增加用户体验(传统做法为,主进程启动时进行版本检测,如需要更新时再启动更新进程)单例启动控制传统的单例启动是控制主进程,一次主进程存在,二次主进程则把启动参数抛给一次主进程.而先启动Shell进程,要做的就是判断主进程是否存在,如果存在直接把启动参数抛给主进程并关闭自己Main进程:

程序的主要功能进程,被Shell进行调起,可接收Shell抛来的启动参数集成播放器控件(该控件和播放器SDK完全解耦,负责渲染SDK回调的视频数据和发送控制命令)

Player进程:

实例播放器SDK,并把SDK中的视频数据回调给播放器控件

技术实现

关于进程间通讯,这里主要使用两种通讯方式,管道和共享内存(C#中SharedMemoryManager库)a. ShellMain进程的通讯,可使用管道来实现.b. Main(具体为播放器控件)和Player则使用管道和共享内存两种方式播放器的控制逻辑使用管道来实现,而视频帧的数据回调则使用共享内存来实现.

其他

该方案为在使用其他软件时的观察和思考,包括一些利用ChatGPT4.0得到的信息,仅为个人理解.软件及库不限于:VS2022,CEFSharp,网易云音乐,微信等.

标签:

精彩推送

关于大型客户端项目的思考

大型客户端项目在使用过程中一般会面临几个问题:a **启动慢**b **运

2023-06-07

全球今日讯!少年乘风,未来可期!泉州近5万学子今日高考!

闽南网6月7日讯(闽南网记者陈玉玲尤燕姿苏毓茹洪方博涛洪泓塬吴圳烽文

2023-06-07

泰康尊享一生年金保险F款(万能型)谁能买?条款介绍?-每日快讯

泰康尊享一生年金保险F款(万能型)是泰康养老承保的一款年金保险产品。

2023-06-07

Allegro将更改销售佣金费率

电商报快讯:6月7日消息,Allegro宣布,2023年7月3日起,平台将更改销

2023-06-07

环球今亮点!​2023辽宁高考时间科目表

2023辽宁高考时间科目表全国统考于6月7日开始举行,辽宁具体科目考试时

2023-06-07

世界热文:如果选择合适的企业数据防泄漏解决方案

如果选择合适的企业数据防泄漏解决方案-随着信息技术的发展,企业数据

漳州农产品合格率98%以上

近日,记者从漳州市农业农村局获悉,自漳州列入第四批国家食品安全示范

亿华通布局上游制氢领域 氢能科技公司正式成立_环球观天下

6月6日,北京亿华通氢能科技有限公司(以下简称氢能科技公司)正式成立

NixOS 与 Nix Flakes 新手入门|环球看热讯

![](https: img2023 cnblogs com blog 968138 202306 968138-20230607

含编内!福建一批事业单位招人! 环球今日报

找工作的看过来!福建一批事业单位招人啦!含编内!有适合你的岗位吗?

关于大型客户端项目的思考

大型客户端项目在使用过程中一般会面临几个问题:a **启动慢**b **运

蚂蚁,究竟是一家什么样的公司? 播资讯

同时,“科技普惠”不仅是围绕小微客户需求、业务应用场景来解决商业问

全球今日讯!少年乘风,未来可期!泉州近5万学子今日高考!

闽南网6月7日讯(闽南网记者陈玉玲尤燕姿苏毓茹洪方博涛洪泓塬吴圳烽文

阜宁县供销社全力服务抢收抢种工作|每日速讯

6月6日,县供销社组织督导各基层社服务抢收抢种工作。强化组织领导,该

泰康尊享一生年金保险F款(万能型)谁能买?条款介绍?-每日快讯

泰康尊享一生年金保险F款(万能型)是泰康养老承保的一款年金保险产品。

中信证券:6月一年期MLF利率或将下调5-10bps

中信证券指出,5月以来资金面相对宽松而同业存单利率中枢回落,MLF降息

Allegro将更改销售佣金费率

电商报快讯:6月7日消息,Allegro宣布,2023年7月3日起,平台将更改销

中国网络文学亚洲传播效果凸显

本报电(记者张鹏禹)近日,由中国作家协会、浙江省人民政府、杭州市人

每日看点!厦门今起三天或有雨 建议考生适时提前出发带好雨具

昨天是芒种节气,标志仲夏开始。气象部门预测,今起三天,我市气温偏高

全球今热点:中望软件领涨6.36%,科创信息ETF(588260)上涨0.41%

该基金紧密跟踪上证科创板新一代信息技术指数,该指数现上涨0 47%,指

焦点信息:快讯丨河北省8个重点文化产业项目精彩亮相

今天上午,在正在召开的第十九届深圳文博会河北省重点文化产业项目招商

当前速讯:Shopify宣布已完成向Flexport公司出售旗下物流业务

电商报快讯:6月7日消息,Shopify公司宣布,根据2023年5月3日的交易协

晶科能源N型引领行业技术变革,研发与扩产齐头并进

累计出货量稳居第一,一体化产能持续扩张。截至2023年3月30日,晶科能源累计组件出货量达150GW,为全球首家突破150GW的光伏企业。产能均衡

深圳“金融+”时代,为什么说湾区金融中心是前海?

深圳“金融+”时代,为什么说湾区金融中心是前海?,置业,桂湾,前海湾,

天天快播:韩国追随美国付出代价,对华出口暴跌,竟甩锅中国经济恢复太慢

韩国追随美国付出代价,对华出口暴跌,竟甩锅中国经济恢复太慢,韩国,中

*ST柏龙6月7日快速上涨_独家焦点

以下是*ST柏龙在北京时间6月7日13:11分盘口异动快照:6月7日,*ST柏龙

中山火炬开发区12亩宅地重新挂牌 起始总价约1.7亿元|天天滚动

中山火炬开发区12亩宅地重新挂牌起始总价约1 7亿元,地价,中山,住宅用地

世行最新报告上调全球经济增长预期

世行最新报告上调全球经济增长预期,中国,世行,世界银行,经济数据,全球

2023云南考古体验馆什么时候开放?

2023云南考古体验馆什么时候开放?一、开馆时间2023年6月10日二、场馆

焦点热讯:银川灵武市部分城区小学招生片区划分一览

一、小学招生片区调整1 市第十一小学片区招收灵白街以东,健康路过东盛

铁流股份:空心电机轴目前处在客户产品开发阶段

南方财经6月7日电,铁流股份在互动平台表示,公司目前暂未和比亚迪合作

蓝帆医疗:上海科创总部及产业化基地项目建成后,房屋建筑物除自用外,部分将用于出租

每经AI快讯,有投资者在投资者互动平台提问:公司科创总部不算设备费用

环球今亮点!​2023辽宁高考时间科目表

2023辽宁高考时间科目表全国统考于6月7日开始举行,辽宁具体科目考试时

天铁股份:西藏中鑫盐湖项目的实施主体是西藏中鑫

每经AI快讯,有投资者在投资者互动平台提问:蓝晓科技4月26日投资者问

23津城建SCP034票面利率为6.3800%

23津城建SCP034票面利率为6 3800%

环球关注:首艘国产大型邮轮“爱达·魔都”号出坞 我国造船业皇冠“三颗明珠”将集齐

6月6日下午,首艘国产大型邮轮爱达·魔都号顺利停靠在上海外高桥造船四

银川灵武市2023七年级新生预报名在哪里

2023年灵武市秋季城区七年级新生预报名摸排登记工作将于6月6日开始,登

福州连江随迁子女入学办法

2023年连江县中小学入学政策尚未发布,以下为2022年随迁子女入学政策参

即时看!五一太原出发自驾游路线推荐(露营+山水+花海+亲子)

郊野露营低碳之旅➤太原植物园➜晋阳湖公园➜太原古县城➜西山万亩生态

天天最资讯丨2023年济南槐荫区外来随迁子女申请入学信息登记公告

一、入学信息登记对象和条件年满6周岁(2017年8月31日前出生),具备学习

焦点热文:2023安徽高考成绩公布时间在什么时候?

2023安徽高考成绩公布时间在什么时候?答:2023安徽高考预计于6月24日

北京宣布 公积金提取有大变化

北京宣布公积金提取有大变化,租房,房租,缴存人,北京市,住房公积金

政策刺激「不感冒」,北上深房价或下降20%|氪金 · 大事件

政策刺激「不感冒」,北上深房价或下降20%|氪金·大事件,房价,楼市,国

全球央行观察|抗通胀之战艰巨度超预期,澳大利亚央行“意外”加息25个基点-焦点快报

全球央行观察|抗通胀之战艰巨度超预期,澳大利亚央行“意外”加息25个

天天资讯:2023海南省高考分数转换表

海南高考分数转换表每年考试成绩公布后,海南省考试局会公布语文、数学

环球热议:排名大洗牌!1-5月西安房企销售TOP10发布!

排名大洗牌!1-5月西安房企销售TOP10发布!,万科,房地产,中海地产,龙湖

太原西北二环砂岩2号大桥T梁架设完成-焦点短讯

太原西北二环砂岩2号大桥T梁架设完成,砂岩

这项内容纳入中考!教育部最新方案出炉_天天速读

教育部5日发布《基础教育课程教学改革深化行动方案》,方案包括指导思

热议:15国外交官参访“中国式现代化”西安实践成果

15国外交官参访“中国式现代化”西安实践成果,驻华大使,西安,伊朗,津巴

环球资讯:滞困异星黎明YOUTH-ORDER种子是什么

在游戏《滞困:异星黎明(Stranded:AlienDawn)》中,这个地图是LLL相

滞困异星黎明POWER-OVERWHELMING种子是什么 全球热头条

在游戏《滞困:异星黎明(Stranded:AlienDawn)》中,这个地图的种子是

csgo交易软件哪个好 最多玩家用的国外csgo饰品交易软件合集

,最近,很多朋友在一些开箱平台上驾驶csgo武器等。但一些朋友不知道cs

精彩推荐