WinCE6.0下关于字库缓存的一些问题,求指导

时间:2022-06-17 18:03:19
编程语言:C#
问题:
每次开机后当第一次执行Graphic.Drawing时耗时特别长,大概是一个字50多毫秒,当第二次用Graphic.Drawing绘制文本时,耗时就少了好多;
后来发现原因是:第一次绘制文本时,从字库调出来的文字被存到缓存里了,所以第二次就耗时少了;
但是现在问题来了,当绘制的文本比较多的时候,再次绘制相同的文本时,耗时又是特别长,经过分析,可能是内存满了,缓存被冲掉了,现在应该怎样保证缓存不被冲掉呢?

9 个解决方案

#1


C#没玩过,说不上。用mfc没见过这样的问题。

#2


自己顶一个,大神快来啊

#3


引用 1 楼 accessysq 的回复:
C#没玩过,说不上。用mfc没见过这样的问题。


the same to 1L
建议 LZ 你先用 MFC 的程序测试一下,看看是不是有类似的问题?
如果没有,则需要从 C# 入手
如果有,则需要从系统入手

#4


恩,用MFC试了一下,每个字大概10多秒,看来应该是从C#上看了

#5


引用 4 楼 KLORDLY 的回复:
恩,用MFC试了一下,每个字大概10多秒,看来应该是从C#上看了


是 10 多毫秒吧,10多秒还玩什么。嘿嘿...

#6


引用 5 楼 91program 的回复:
Quote: 引用 4 楼 KLORDLY 的回复:

恩,用MFC试了一下,每个字大概10多秒,看来应该是从C#上看了


是 10 多毫秒吧,10多秒还玩什么。嘿嘿...


恩,毫秒 WinCE6.0下关于字库缓存的一些问题,求指导;不过后来又测了一下,MFC和C#的差不多,有10多毫秒的,也有30多毫秒的,这我就不知道为啥了

#7


引用 5 楼 91program 的回复:
Quote: 引用 4 楼 KLORDLY 的回复:

恩,用MFC试了一下,每个字大概10多秒,看来应该是从C#上看了


是 10 多毫秒吧,10多秒还玩什么。嘿嘿...



MFC上的时间还能再减少吗

#8


这种显示一个字要10ms左右的情况比较少见,可以尝试从两个方面着手处理:
1、可能是CE系统平台NK有问题。比如你用的嵌入式硬件支持2D加速,是否在NK中没有添加完整的库,导致在绘图操作时有出错和超时等待,所以耗时较多。解决方法:升级NK中关于绘图方面的内容至最新版,再测试看看效果。
2、如果确实是硬件性能跟不上,可以尝试从技巧上优化,比如先将文字/字体读取后作为static变量保存,不用重复读取或加载,或者将字体内容保存为图片再绘制。

#9


没这么慢吧!!!!!!!!!!

#1


C#没玩过,说不上。用mfc没见过这样的问题。

#2


自己顶一个,大神快来啊

#3


引用 1 楼 accessysq 的回复:
C#没玩过,说不上。用mfc没见过这样的问题。


the same to 1L
建议 LZ 你先用 MFC 的程序测试一下,看看是不是有类似的问题?
如果没有,则需要从 C# 入手
如果有,则需要从系统入手

#4


恩,用MFC试了一下,每个字大概10多秒,看来应该是从C#上看了

#5


引用 4 楼 KLORDLY 的回复:
恩,用MFC试了一下,每个字大概10多秒,看来应该是从C#上看了


是 10 多毫秒吧,10多秒还玩什么。嘿嘿...

#6


引用 5 楼 91program 的回复:
Quote: 引用 4 楼 KLORDLY 的回复:

恩,用MFC试了一下,每个字大概10多秒,看来应该是从C#上看了


是 10 多毫秒吧,10多秒还玩什么。嘿嘿...


恩,毫秒 WinCE6.0下关于字库缓存的一些问题,求指导;不过后来又测了一下,MFC和C#的差不多,有10多毫秒的,也有30多毫秒的,这我就不知道为啥了

#7


引用 5 楼 91program 的回复:
Quote: 引用 4 楼 KLORDLY 的回复:

恩,用MFC试了一下,每个字大概10多秒,看来应该是从C#上看了


是 10 多毫秒吧,10多秒还玩什么。嘿嘿...



MFC上的时间还能再减少吗

#8


这种显示一个字要10ms左右的情况比较少见,可以尝试从两个方面着手处理:
1、可能是CE系统平台NK有问题。比如你用的嵌入式硬件支持2D加速,是否在NK中没有添加完整的库,导致在绘图操作时有出错和超时等待,所以耗时较多。解决方法:升级NK中关于绘图方面的内容至最新版,再测试看看效果。
2、如果确实是硬件性能跟不上,可以尝试从技巧上优化,比如先将文字/字体读取后作为static变量保存,不用重复读取或加载,或者将字体内容保存为图片再绘制。

#9


没这么慢吧!!!!!!!!!!