CN113641357A - 一种航电座舱显示软件性能优化方法 - Google Patents
一种航电座舱显示软件性能优化方法 Download PDFInfo
- Publication number
- CN113641357A CN113641357A CN202110608248.6A CN202110608248A CN113641357A CN 113641357 A CN113641357 A CN 113641357A CN 202110608248 A CN202110608248 A CN 202110608248A CN 113641357 A CN113641357 A CN 113641357A
- Authority
- CN
- China
- Prior art keywords
- function
- design
- scade
- filling
- display software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000005457 optimization Methods 0.000 title claims description 13
- 238000013461 design Methods 0.000 claims abstract description 41
- 238000012986 modification Methods 0.000 claims abstract description 20
- 230000004048 modification Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000000873 masking effect Effects 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 4
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 230000006872 improvement Effects 0.000 abstract description 4
- 238000009877 rendering Methods 0.000 abstract description 4
- 238000011161 development Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 125000001475 halogen functional group Chemical group 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Abstract
本申请涉及计算机处理技术,具体涉及一种航电座舱显示软件性能优化方法。所述方法包括步骤S1、获取基于SCADE进行机载座舱显示画面设计后生成的源代码;步骤S2、给出将同类设计元素布局在一起的第一SCADE修改提示;步骤S3、给出删除或修改设计参数的第二SCADE修改提示;步骤S4、若所述控制函数中不存在使所述填充图元位置变更的函数或者所述填充图元的轮廓颜色与填充颜色相同,则删除所述填充图元的抗锯齿函数。本申请利用SCADE Display在显示画面设计中的强大优势的同时,明确具体的画面模型的设计步骤,以获得更好的显示画面代码的执行性能。让设计人员不必了解如何优化OpenGL代码,就可以获得显著的绘制性能的提升。
Description
技术领域
本申请涉及计算机处理技术,具体涉及一种航电座舱显示软件性能优化方法。
背景技术
综合航电座舱显示软件的大部分代码集中在显示画面部分,随着其规模越来越大,传统手动编写代码的实现方式,不仅实现难度大,而且测试、升级、维护也越来越困难。为了助力显示画面的设计与开发,现在一般选择成熟货架产品进行,例如通过SCADE软件自动生成用于座舱显示的源代码。但是,没有插件约束的设计,依然存在提升显示软件代码性能的难点。
SCADE Suite在安全关键相关的嵌入式控制软件设计研发中具备强大的优势,因此,在综合航电系统相关控制类嵌入式软件研制过程中,大量应用SCADE Suite进行设计开发。
软件运行的性能不仅取决于硬件平台,软件的设计、编码同样是影响性能的关键因素。在应用SCADE Suite进行设计开发的控制类软件中,对应不同的SCADE输入数据,会产生不同的座舱显示软件的源代码,而座舱显示的源代码的好坏又直接影响座舱显示结果及显示速度,受设计人员的水平影响,软件的运行性能很难得到保障,因此,有必要提供一种转换机制,对应于不同的设计人员所设计的SCADE输入进行修正,从而使得通过SCADE生成的座舱显示源代码具有响应速度快、占用资源小等特点。
发明内容
为了解决上述问题,本申请提供了一种航电座舱显示软件性能优化方法,该方法以插件的形式对SCADE设计生成的源代码进行处理,获得更加简洁高效的座舱显示控制源代码。
本申请航电座舱显示软件性能优化方法,主要包括:
步骤S1、获取基于SCADE进行机载座舱显示画面设计后生成的源代码;
步骤S2、基于所述源代码包含的同类设计元素所在的位置,给出将同类设计元素布局在一起的第一SCADE修改提示;
步骤S3、基于所述源代码包含的文字绘制部分,检测其是否应用有黑名单涉及的函数名称,若存在,则给出删除或修改设计参数的第二 SCADE修改提示;
步骤S4、检测使用抗锯齿函数的填充图元所包含的控制函数,若所述控制函数中不存在使所述填充图元位置变更的函数或者所述填充图元的轮廓颜色与填充颜色相同,则删除所述填充图元的抗锯齿函数。
优选的是,步骤S2中,所述第一SCADE修改提示,还包括将同类设计元素中具有相同属性的元素布局在一起。
优选的是,所述属性包括颜色、线条或者线形。
优选的是,步骤S3中,所述黑名单中的函数包括:用于将文字生成为位图纹理的位图纹理处理函数以及采用Rich Text属性的文本处理函数,所述第二修改提示包括将所述位图纹理处理函数替换为笔划矢量处理函数。
优选的是,步骤S3中,进一步包括检测所述文字绘制部分所占字库的尺寸是否满足阈值要求,若超过阈值,则提供至少一次的字库压缩的修改提示。
优选的是,还包括:
步骤S5、确定所述源代码中是否存在实现遮罩功能的函数,给出使用Panel代替Stencil或Clip Box实现遮罩功能的第三SCADE修改提示
SCADE Display让显示画面设计人员脱离OpenGL代码就可以实现对座舱显示画面的所见即所得的设计开发,而基于该方法,通过指导与修正设计人员的设计工作,对SCADE生成的源代码进行性能优化,让设计人员不必深入了解如何优化OpenGL代码,就可以自动获得显著的座舱显示软件的绘制性能的提升。
本申请利用SCADE Display在显示画面设计中的强大优势的同时,明确具体的画面模型的设计步骤,以获得更好的显示画面代码的执行性能。让设计人员不必了解如何优化OpenGL代码,就可以获得显著的绘制性能的提升。
附图说明
图1是本申请航电座舱显示软件性能优化方法的流程图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图对本申请的实施方式进行详细说明。
如图1所示,本申请提供了一种航电座舱显示软件性能优化方法,主要包括:
步骤S1、获取基于SCADE进行机载座舱显示画面设计后生成的源代码;
步骤S2、基于所述源代码包含的同类设计元素所在的位置,给出将同类设计元素布局在一起的第一SCADE修改提示;
步骤S3、基于所述源代码包含的文字绘制部分,检测其是否应用有黑名单涉及的函数名称,若存在,则给出删除或修改设计参数的第二 SCADE修改提示;
步骤S4、检测使用抗锯齿函数的填充图元所包含的控制函数,若所述控制函数中不存在使所述填充图元位置变更的函数或者所述填充图元的轮廓颜色与填充颜色相同,则删除所述填充图元的抗锯齿函数。
在一些可选实施方式中,步骤S2中,所述第一SCADE修改提示,还包括将同类设计元素中具有相同属性的元素布局在一起。
在一些可选实施方式中,所述属性包括颜色、线条或者线形。
在一些可选实施方式中,步骤S3中,所述黑名单中的函数包括:用于将文字生成为位图纹理的位图纹理处理函数以及采用Rich Text属性的文本处理函数,所述第二修改提示包括将所述位图纹理处理函数替换为笔划矢量处理函数。
在一些可选实施方式中,步骤S3中,进一步包括检测所述文字绘制部分所占字库的尺寸是否满足阈值要求,若超过阈值,则提供至少一次的字库压缩的修改提示。
在一些可选实施方式中,还包括:
步骤S5、确定所述源代码中是否存在实现遮罩功能的函数,给出使用Panel代替Stencil或Clip Box实现遮罩功能的第三SCADE修改提示。
综合航电座舱显示软件的大部分代码集中在显示画面部分,随着其规模越来越大,传统手动编写代码的实现方式,不仅实现难度大,而且测试、升级、维护也越来越困难。为了助力显示画面的设计与开发,现在一般选择成熟货架产品进行。但是,没有插件约束的设计,依然是提升显示软件代码性能的难点。基于此,本申请提出的方法能够被设置成基于SCADE Dsiplay的显示画面设计效能优化插件,用于规范显示软件设计开发人员的设计,通过提升显示画面代码的性能,进而提升整个显示软件的性能。
整个插件的制定以OpenGL代码优化方法为基础,应用于基于SCADE Display的显示画面设计中,当程序员编制完成了某显示控制软件后,可以运行该插件,从而进行OpenGL代码优化,主要内容如下:
步骤一:替换OpenGL上下文环境切换
在基于OpenGL驱动的显示绘制代码中,减少OpenGL上下文环境切换,能够对性能产生比较好的提升,该方法的应用对应基于SCADE Display的显示画面设计包含以下两点:
绘制不同的元素时,尽可能将相同的元素布局在一起;
绘制相同的元素时,尽可能将相同属性(包括颜色、线宽、线形) 的元素布局在一起。
步骤二:进行文字绘制
基于SCADE Display的显示画面设计中,与绘制文字相关的插件包含以下几点:
尽量压缩字库的尺寸,字库越大,不仅会占用更多的空间,而且会增加查询文字时的寻址时间,影响文字的绘制性能;
字库生成时,将文字生成为位图纹理,而不是笔划矢量,因为,在大多数OpenGL平台上,绘制纹理的性能更好,同时,尽可能不使用文字的光晕效果。设计时,对于字体资源的配置可参考下图:
通用普通文本实现的,不能使用“Rich Text”实现。
步骤三:应用抗锯齿功能
SCADE Display中,抗锯齿功能只对填充图元起作用,图元抗锯齿功能的开启,会损耗绘制的性能,因此,设计时,有以下情况,不要开启图元的抗锯齿功能:
图元的轮廓颜色与填充颜色相同;
图元在运行时不发生位置的变更。
步骤四:使用Panel代替Stencil或Clip Box实现遮罩功能。
SCADE Display中的Stencil和Clip Box基于OpenGL Stencil实现,Panel 基于OpenGL Scissor实现,而OpenGL Scissor往往有更好的性能表现,因此,设计中能不使用Stencil或Clip Box尽量不要使用,能用Panel代替 Stencil或Clip Box实现遮罩功能时,尽量使用Panel。
本申请利用SCADE Display在显示画面设计中的强大优势的同时,明确具体的画面模型的设计步骤,以获得更好的显示画面代码的执行性能。让设计人员不必了解如何优化OpenGL代码,就可以获得显著的绘制性能的提升。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (6)
1.一种航电座舱显示软件性能优化方法,其特征在于,包括:
步骤S1、获取基于SCADE进行机载座舱显示画面设计后生成的源代码;
步骤S2、基于所述源代码包含的同类设计元素所在的位置,给出将同类设计元素布局在一起的第一SCADE修改提示;
步骤S3、基于所述源代码包含的文字绘制部分,检测其是否应用有黑名单涉及的函数名称,若存在,则给出删除或修改设计参数的第二SCADE修改提示;
步骤S4、检测使用抗锯齿函数的填充图元所包含的控制函数,若所述控制函数中不存在使所述填充图元位置变更的函数或者所述填充图元的轮廓颜色与填充颜色相同,则删除所述填充图元的抗锯齿函数。
2.如权利要求1所述的航电座舱显示软件性能优化方法,其特征在于,步骤S2中,所述第一SCADE修改提示,还包括将同类设计元素中具有相同属性的元素布局在一起。
3.如权利要求2所述的航电座舱显示软件性能优化方法,其特征在于,所述属性包括颜色、线条或者线形。
4.如权利要求1所述的航电座舱显示软件性能优化方法,其特征在于,步骤S3中,所述黑名单中的函数包括:用于将文字生成为位图纹理的位图纹理处理函数以及采用RichText属性的文本处理函数,所述第二修改提示包括将所述位图纹理处理函数替换为笔划矢量处理函数。
5.如权利要求1所述的航电座舱显示软件性能优化方法,其特征在于,步骤S3中,进一步包括检测所述文字绘制部分所占字库的尺寸是否满足阈值要求,若超过阈值,则提供至少一次的字库压缩的修改提示。
6.如权利要求1所述的航电座舱显示软件性能优化方法,其特征在于,还包括:
步骤S5、确定所述源代码中是否存在实现遮罩功能的函数,给出使用Panel代替Stencil或Clip Box实现遮罩功能的第三SCADE修改提示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110608248.6A CN113641357B (zh) | 2021-06-01 | 一种航电座舱显示软件性能优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110608248.6A CN113641357B (zh) | 2021-06-01 | 一种航电座舱显示软件性能优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641357A true CN113641357A (zh) | 2021-11-12 |
CN113641357B CN113641357B (zh) | 2024-05-17 |
Family
ID=
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000000951A1 (en) * | 1998-06-29 | 2000-01-06 | Honeywell Inc. | Method of and system for detecting and rendering of graphic elements |
US20070229526A1 (en) * | 2006-03-28 | 2007-10-04 | Microsoft Corporation | Vector based object property variations |
US20080066046A1 (en) * | 2006-09-11 | 2008-03-13 | The Mathworks, Inc. | Hardware definition language generation for frame-based processing |
US8279204B1 (en) * | 2005-12-22 | 2012-10-02 | The Mathworks, Inc. | Viewer for multi-dimensional data from a test environment |
CN105474198A (zh) * | 2013-06-11 | 2016-04-06 | 微软技术许可有限责任公司 | 具有动态调色板的分层z顺序和微调颜色字体 |
CN106598577A (zh) * | 2016-11-30 | 2017-04-26 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于ScadeDisplay软件的通用组件集成方法 |
CN107515756A (zh) * | 2017-09-04 | 2017-12-26 | 江西洪都航空工业集团有限责任公司 | 一种基于显示机制的显控软件实现方法 |
CN107577461A (zh) * | 2017-08-30 | 2018-01-12 | 中国航空无线电电子研究所 | 实现地面控制系统软件模块化复用的方法 |
CN108022218A (zh) * | 2017-11-24 | 2018-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种自适应纹理字库抗锯齿方法 |
CN110765670A (zh) * | 2019-12-04 | 2020-02-07 | 中国直升机设计研究所 | 一种直升机模拟器综合显示画面动态生成方法 |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000000951A1 (en) * | 1998-06-29 | 2000-01-06 | Honeywell Inc. | Method of and system for detecting and rendering of graphic elements |
US8279204B1 (en) * | 2005-12-22 | 2012-10-02 | The Mathworks, Inc. | Viewer for multi-dimensional data from a test environment |
US20070229526A1 (en) * | 2006-03-28 | 2007-10-04 | Microsoft Corporation | Vector based object property variations |
US20080066046A1 (en) * | 2006-09-11 | 2008-03-13 | The Mathworks, Inc. | Hardware definition language generation for frame-based processing |
CN105474198A (zh) * | 2013-06-11 | 2016-04-06 | 微软技术许可有限责任公司 | 具有动态调色板的分层z顺序和微调颜色字体 |
CN106598577A (zh) * | 2016-11-30 | 2017-04-26 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于ScadeDisplay软件的通用组件集成方法 |
CN107577461A (zh) * | 2017-08-30 | 2018-01-12 | 中国航空无线电电子研究所 | 实现地面控制系统软件模块化复用的方法 |
CN107515756A (zh) * | 2017-09-04 | 2017-12-26 | 江西洪都航空工业集团有限责任公司 | 一种基于显示机制的显控软件实现方法 |
CN108022218A (zh) * | 2017-11-24 | 2018-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种自适应纹理字库抗锯齿方法 |
CN110765670A (zh) * | 2019-12-04 | 2020-02-07 | 中国直升机设计研究所 | 一种直升机模拟器综合显示画面动态生成方法 |
Non-Patent Citations (6)
Title |
---|
ROSSIGNOL V: "SCADE Display® for the Design of Airborne and Ground-Based Radar Human-Machine Interfaces (HMIs)", 9TH INTERNATIONAL RADAR SYMPOSIUM INDIA, pages 1 - 5 * |
傅亮等: "GLUT在基于SCADE航电显控软件设计中的应用", 航空电子技术, pages 38 - 42 * |
傅亮等: "基于SCADE模型驱动的软件集成设计", 航空电子技术, pages 26 - 30 * |
徐飞: "基于ARINC661的飞机座舱综合显示系统设计", 西安电子科技大学, pages 1 - 67 * |
蔡文锋: "基于ARINC661标准的座舱显示系统机载部署内核的研究与实现", 西安电子科技大学, pages 1 - 76 * |
马伟勃: "飞行显示器架构设计", 航空计算技术, pages 265 - 268 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6304928B1 (en) | Compressing/decompressing bitmap by performing exclusive- or operation setting differential encoding of first and previous row therewith outputting run-length encoding of row | |
CA1213085A (en) | Method and apparatus for image compression and manipulation | |
CN102591848B (zh) | 基于背景的前景特性选择 | |
US5771034A (en) | Font format | |
RU2439675C2 (ru) | Эффективное кодирование альтернативных графических наборов | |
US6104359A (en) | Allocating display information | |
US20050024389A1 (en) | Method and system for transmitting data for a shared application | |
US6952215B1 (en) | Method and system for graphics rendering using captured graphics hardware instructions | |
US6005588A (en) | System and method for rapidly displaying text in a graphical user interface | |
CN107273007B (zh) | 用于缩放可视化图像的系统和非瞬时计算机可读介质 | |
US20070171222A1 (en) | Application-independent method for capturing three-dimensional model data and structure for viewing and manipulation | |
US20030214660A1 (en) | Systems and methods for using multiple processors for imaging | |
US5710880A (en) | Method and system for creating a graphic image with geometric descriptors | |
US20160171642A1 (en) | Overlap Aware Reordering of Rendering Operations for Efficiency | |
US9176700B2 (en) | Systems and/or methods for efficient rendering of business model related vector graphics | |
US8723884B2 (en) | Scan converting a set of vector edges to a set of pixel aligned edges | |
CN111221596B (zh) | 字体渲染方法、装置及计算机可读存储介质 | |
US8665293B2 (en) | Automatic draw order | |
CN113641357A (zh) | 一种航电座舱显示软件性能优化方法 | |
US7657897B2 (en) | Methods and apparatus for communicating between multiple levels of software components | |
CN113641357B (zh) | 一种航电座舱显示软件性能优化方法 | |
JPH08329004A (ja) | アプリケーション・プログラム使用の端末操作性向上方法 | |
US9069905B2 (en) | Tool-based testing for composited systems | |
CN113434137A (zh) | 一种基于scade的座舱显示软件性能优化方法 | |
JP3146771B2 (ja) | フォントラスタライズ装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |