这两天在论坛里看到有人在问WinCE6.0下绘图较慢的问题。现象很奇怪,同一个程序在WinCE5.0下运行得很好,但到某些WinCE6.0的平台上却很慢,而在另外一些6.0的平台上似乎又没有问题。看起来,应该跟硬件平台或者系统有关系。在我们的平台上也存在类似的问题,界面有点慢。这是为什么呢?又应该如何解决?是24位色导致系统变慢?使用DirectDraw能否有效的提高速度?为了寻找答案,今天利用TCPMP在我们的平台上做了一个详细的检测,希望能从中找到一些线索。
测试的方法如下,采用同一个MP4文件,分别在16位色和24位的系统上进行BenchMark,ZOOM都选定为100%,渲染方式分别为GDI、Direct、DDraw-RGB和DDraw-YUY2。
先看看16位色下的四组数据。
16位色GDI渲染时的报告结果:
1 Average Speed 268.84%
2 Video Frames 1933
3 Audio Samples 3504097
4 Amount of Data 11401 KB
5
6 Bench. Time 0:28.760
7 Bench. Frame Rate 67.21
8 Bench. Sample Rate 121835
9 Bench. Data Rate 3.2 Mbit/s
10
11 Original Time 1:17.319
12 Original Frame Rate 25.00
13 Original Sample Rate 44100
14 Original Data Rate 1.2 Mbit/s
15
16 URL \NAND\123.avi
17 Size 11675460
18 Platform PLATFORM_TYPE
19 OS Version 6.00
20 OEM Info PLATFORM_OEM
21 Clock speed 480 Mhz
22 Video output GDI 解码 800x480 16bits Lookup
23 Video zoom 320x240 -> 320x240
24 Audio output Wave Output 44100Hz 16Bits 2Ch.
16位色Direct渲染时的报告结果:
1 Average Speed 299.64%
2 Video Frames 1933
3 Audio Samples 3504350
4 Amount of Data 11401 KB
5
6 Bench. Time 0:25.803
7 Bench. Frame Rate 74.91