嵌入式组态环境升级及XML反序列化慢的困惑

简介:

嵌入式组态开发比较顺利,V1.0α版本已经推出,再过几天应该推出V1.0β了。但是目前该组态有一个很大的问题,就是XML反序列化较慢,在上位机(PC)不是很明显,大约1~3秒就可以反序列化完毕,但是在WinCE平台上,200M的主频,同样的文件要15秒左右才能反序列化完毕!

        1、这是闪现屏幕的画面,花了n个小时用PhotoShop处理的,效果不是很理想,自己的美术功底实在不怎么样:(

 

2、这是嵌入式组态开发界面,如果你看过我前几篇文章,你会发现界面比以前要漂亮的多了,此外又添加了标尺功能,还支持两种网格方式(点和线)。

 

3、目前就是XML序列化比较慢的问题了

      思路一:采用sgen.exe工具进行XML提速,目前该部分的代码执行时间,在上位机不到1秒钟,在WinCE平台约3秒钟,优化的空间并不大。并且致命的是我同时需要反序列化28个不同的类型,而这种方法好像只能有一个指定的类。

       思路二:自定义XML的序列化和反序列化代码,这样可以减小XML文件尺寸,提高XML解析速度,目前这部分代码还不知道该怎么写。

       思路三:每个组件分别序列化和反序列化,这样代价很高,需要重构目前的程序结构。

      不知道大家有没有什么更好的思路?


















本文转自yefanqiu51CTO博客,原文链接:http://blog.51cto.com/yfsoft/323784,如需转载请自行联系原作者

相关文章
|
Java 程序员 API
Spring Boot升级到2.x,Jackson对Date时间类型序列化的变化差点让项目暴雷【享学Spring Boot】(下)
Spring Boot升级到2.x,Jackson对Date时间类型序列化的变化差点让项目暴雷【享学Spring Boot】(下)
Spring Boot升级到2.x,Jackson对Date时间类型序列化的变化差点让项目暴雷【享学Spring Boot】(下)
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
269 1
|
XML JavaScript 数据格式
【Groovy】xml 序列化 ( 使用 StreamingMarkupBuilder 生成 xml 数据 | mkp.xmlDeclaration() 生成 xml 版本数据 )
【Groovy】xml 序列化 ( 使用 StreamingMarkupBuilder 生成 xml 数据 | mkp.xmlDeclaration() 生成 xml 版本数据 )
794 156
【Groovy】xml 序列化 ( 使用 StreamingMarkupBuilder 生成 xml 数据 | mkp.xmlDeclaration() 生成 xml 版本数据 )
|
XML 数据格式
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 标签闭包下创建子标签 | 使用 MarkupBuilderHelper 添加 xml 注释 )
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 标签闭包下创建子标签 | 使用 MarkupBuilderHelper 添加 xml 注释 )
632 118
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 标签闭包下创建子标签 | 使用 MarkupBuilderHelper 添加 xml 注释 )
|
XML 自然语言处理 数据格式
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
683 155
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
|
XML 存储 JSON
c#XML、JSON的序列化和反序列化,看完你就懂了
c#XML、JSON的序列化和反序列化,看完你就懂了
704 0
|
XML 存储 JSON
C# 对象存储 (轻松实现序列化 | Xml | Json | 加密 | 压缩 | 注册表 | Redis)
开发时经常会遇到需要保存配置的情况,最常见的实现方式是将对象序列化成Json,再写入文件并保存到本地磁盘。 本文将使用开源库**ApeFree.DataStore**来替换原有的对象存储过程,实现一个可以随意切换存储方式的对象存储方法。 ApeFree.DataStore是一款可配置的对象存储库,支持在不同平台/介质中对内存中的对象进行存储与还原(如本地存储、注册表存储)。支持配置序列化格式(如Json、Xml),支持配置压缩算法(如GZip、Defalte),支持配置加密算法(如AES、RSA)。
516 0
C# 对象存储 (轻松实现序列化 | Xml | Json | 加密 | 压缩 | 注册表 | Redis)
|
XML 存储 API
[序列化协议] --- XML
[序列化协议] --- XML
235 0
|
XML JavaScript 前端开发
具备spring环境的测试头注解;xml 规则;JavaScript:改变 HTML 内容案例
具备spring环境的测试头注解 具备spring环境的测试头注解 test
256 1
具备spring环境的测试头注解;xml 规则;JavaScript:改变 HTML 内容案例

相关课程

更多