软件系统实现方法及软件系统,该方法包括:主系统进程接收子系统加载指令,根据该子系统加载指令创建相应的子系统进程;主系统进程接收用户输入信息,并将用户输入信息向子系统进程发送;子系统进程接收主系统进程发送的用户输入信息,根据该用户输入信息进行用户输入信息的处理与业务逻辑处理,并在业务逻辑处理完毕后将子系统对应界面绘制成一张像素图,并将该像素图向主系统进程发送;主系统进程接收子系统进程发送的像素图,对该像素图进行绘制。根据本发明专利技术方案,子系统对主系统的性能影响很小,因此不仅可以满足软件系统功能性需求,而且提高软件系统的性能,提高用户对软件系统的流畅度的需求。
【技术实现步骤摘要】
【专利摘要】软件系统实现方法及软件系统,该方法包括:主系统进程接收子系统加载指令,根据该子系统加载指令创建相应的子系统进程;主系统进程接收用户输入信息,并将用户输入信息向子系统进程发送;子系统进程接收主系统进程发送的用户输入信息,根据该用户输入信息进行用户输入信息的处理与业务逻辑处理,并在业务逻辑处理完毕后将子系统对应界面绘制成一张像素图,并将该像素图向主系统进程发送;主系统进程接收子系统进程发送的像素图,对该像素图进行绘制。根据本专利技术方案,子系统对主系统的性能影响很小,因此不仅可以满足软件系统功能性需求,而且提高软件系统的性能,提高用户对软件系统的流畅度的需求。【专利说明】软件系统实现方法和软件系统
本专利技术涉及软件领域,特别涉及一种软件系统实现方法以及一种软件系统。
技术介绍
软件系统(Software Systems)是指由系统软件、支撑软件和应用软件组成的计算机软件系统,它是计算机系统中由软件组成的部分。子系统是指软件系统的一部分,是软件系统功能的补充与增强。子系统一般包括用户处理、逻辑处理、界面绘制等三部分。为了能够与软件整体融为一体,目前对子系统的实现方式,都是将子系统的所有功能都与软件主体在一个进程中实现,即在原有的软件进程中,加入子系统的输入、逻辑处理与界面绘制等逻辑。图1中示出了目前的软件系统实现的基本流程示意图。如图1所示,其在接收到用户输入后,基本流程是通过下列顺序执行:子系统对用户输入进行处理;主系统对用户输入进行处理;主系统进行逻辑处理;子系统进行逻辑处理;主系统界面绘制;子系统界面绘制。基于这种实现方案,能够基本满足设计需求,将子系统的功能与软件整体结合起来。但是,由于子系统与主系统在一个进程,因此子系统的任何一个环节所造成的时间消耗都将直接影响主系统的性能表现。假设用户输入耗时记为to ;将主系统处理用户输入、逻辑处理、界面绘制这三个过程需要消耗的时间分别记为tl、t2、t3 ;将子系统处理用户输入、逻辑处理、界面绘制这三个过程需要消耗的时间分别记为t4、t5、t6,那么,图1所示中的实现方案,软件整体每次循环消耗的整体时间t = t0+tl+t2+t3+t4+t5+t6。由此可以看出,子系统的耗时(t4、t5、t6)直接累加到软件整体时间消耗上。而实际上,在软件系统运行时,对于用户体验来说,t值越小,用户感觉软件越流畅;反之则越卡。以软件系统为游戏系统为例,用户可以感知到的游戏画面流畅度可以用帧率(fps,每秒能够显示的画面帧数)来衡量,假设在加入子系统之前,游戏平均每次循环消耗的时间为20ms,即t = t0+tl+t2+t3 = 20ms,那么,在加入子系统之前,游戏的平均帧率为fps = 1000ms/20ms = 50巾贞。假设子系统每次循环消耗5ms,那么,在加入子系统后,游戏平均每次消耗的时间变化为t = t0+tl+t2+t3+t4+t5+t6 = 20+5 = 25ms,此时的巾贞率为:fps=1000ms/25 = 40帧。由此可见,在引入子系统后,造成了整个游戏系统10帧的效率下降。而且,随着子系统的复杂度的变化,t3、t4、t5也是随时会发生变化的,例如原来子系统的界面上有10个界面元素,后来为了系统需要,增加到100个界面元素,那么处理100个界面元素的耗时肯能会大大增加,进而对整个系统的影响将更大,严重影响到软件系统的流畅度。
技术实现思路
针对上述现有技术中存在的问题,本专利技术的目的在于提供一种软件系统实现方法以及一种软件系统,其可以在满足软件系统功能性需求的同时,提高软件系统的性能,提高用户对软件系统的流畅度的需求。为达到上述目的,本专利技术采用以下技术方案:一种软件系统实现方法,包括步骤:主系统进程接收子系统加载指令,根据该子系统加载指令创建相应的子系统进程;主系统进程接收用户输入信息,并将用户输入信息向子系统进程发送;子系统进程接收主系统进程发送的用户输入信息,根据该用户输入信息进行用户输入信息的处理与业务逻辑处理,并在业务逻辑处理完毕后将子系统对应界面绘制成一张像素图,并将该像素图向主系统进程发送;主系统进程接收子系统进程发送的像素图,对该像素图进行绘制。一种软件系统,包括:主系统进程模块,用于接收子系统加载指令以及用户输入信息,并对进程交互模块接收的子系统进程的像素图进行绘制;进程交互模块,用于根据主系统进程模块接收的子系统加载指令创建子系统进程模块中相应的子系统进程,将主系统进程模块接收的用户输入信息向子系统进程模块发送,并接收子系统进程模块发送的像素图;子系统进程模块,用于接收进程交互模块发送的用户输入信息,根据该用户输入信息进行用户输入信息的处理与业务逻辑处理,并在业务逻辑处理完毕后将子系统对应界面绘制成一张像素图,并将该像素图向进程交互模块发送。根据上述本专利技术方案,主系统进程在接收到加载子系统的指令时,是为该子系统创建独立的子系统进程,使得子系统对用户输入信息、的处理、业务逻辑处理、界面绘制等处理过程都从主系统分离,子系统的对用户输入信息的处理、业务逻辑处理、界面绘制等处理过程作为单独的进程而存在,在主系统进程中,只需要将用户输入信息向子系统进程发送,并对子系统进程发送过来的像素图进行绘制,保留在主系统进程中的两个步骤相对固定单一,子系统对主系统的性能影响很小,不会随着子系统复杂度的变化而变化,对主系统的性能影响是恒定的,对主系统稳定性造成影响的可能性微乎其微,因此不仅可以满足软件系统功能性需求,而且提高软件系统的性能,提高用户对软件系统的流畅度的需求。【专利附图】【附图说明】图1是目前的软件系统实现的基本流程示意图;图2是本专利技术的软件系统实现方法实施例的流程示意图;图3是本专利技术方法的一个具体示例中主系统进程与子系统进程的处理过程的基本流程示意图;图4是本专利技术的软件系统实施例的结构示意图。【具体实施方式】以下结合其中的较佳实施方式对本专利技术方案进行详细阐述。图2中示出了本专利技术的软件系统实现方法实施例的流程示意图。如图2所示,本实施例中的实现方法包括步骤:步骤SlOl:主系统进程接收子系统加载指令,根据该子系统加载指令创建相应的子系统进程;步骤S102:主系统进程接收用户输入信息,并将该用户输入信息向子系统进程发送;步骤S103:子系统进程接收主系统进程发送的用户输入信息,根据该用户输入信息进行用户输入信息的处理与业务逻辑处理,并在业务逻辑处理完毕后将子系统对应界面绘制成一张像素图,并将该像素图向主系统进程发送;步骤S104:主系统进程接收子系统进程发送的像素图,对该像素图进行绘制。根据如上所述的本实施例中的软件系统实现方法,主系统进程在接收到加载子系统的指令时,是为该子系统创建独立的子系统进程,使得子系统对用户输入信息、的处理、业务逻辑处理、界面绘制等处理过程都从主系统分离,子系统的对用户输入信息的处理、业务逻辑处理、界面绘制等处理过程作为单独的进程而存在,在主系统进程中,只需要将用户输入信息向子系统进程发送,并对子系统进程发送过来的像素图进行绘制,保留在主系统进程中的两个步骤相对固定单一,子系统对主系统的性能影响很小,不会随着子系统复杂度的变化而变化,对主系统的性能影响是恒定的,对主系统稳定性造成影响的可能性微本文档来自技高网...
【技术保护点】
一种软件系统实现方法,其特征在于,包括步骤:主系统进程接收子系统加载指令,根据该子系统加载指令创建相应的子系统进程;主系统进程接收用户输入信息,并将用户输入信息向子系统进程发送;子系统进程接收主系统进程发送的用户输入信息,根据该用户输入信息进行用户输入信息的处理与业务逻辑处理,并在业务逻辑处理完毕后将子系统对应界面绘制成一张像素图,并将该像素图向主系统进程发送;主系统进程接收子系统进程发送的像素图,对该像素图进行绘制。
【技术特征摘要】
【专利技术属性】
技术研发人员:赵元学,姚岸松,仲超,聂志明,徐凯,宋兰齐,江雷,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。