TCPMP中使用GDI、Direct及DirectDraw效果对比

news/2024/7/10 3:59:35 标签: wince, 测试, symbian, 平台, 优化

早先跟ZL讨论过WinCE6.0下使用TCPMP播放视频的问题。他认为直接写显存应该可以让视频播放更流畅。今天我在我们的平台上实际测试了一下,分别使用GDI、Direct和DirectDraw三种方式做了Benchmark,其中Direct就是他所说的直接写显存的方式。

      为了让TCPMP支持Direct的方式,需要修改overlay_direct.c中的相关代码,使其能够直接访问CE设备的显存。具体方法就不再这里赘述了,请参考前一篇随笔。正如上一篇所说,这里提供的方法目前只能专款专用,针对自己的平台做一些优化。实现了Direct的方式后,可以在“选项”——“视频设置”中看见目前系统支持的几种方式,如下图所示。

 image

      测试用的视频文件是“魅族Miniplayer.mp4”,M8里自带的广告片,三种模式测试报告的对比如下。image

      以上是Direct和GDI的对比图。可以看到使用Direct确实比GDI快一些,前者的Average Speed比后者的高10%。

      Direct和DirectDraw的对比图如下。可以看到他们两个基本上是平分秋色,不相上下。image

      另外,在WinCE6.0中启动TCPMP时会有一些异常的打印信息。如果看着不舒服,可以修改cpu.c的第78行代码,改为“#if !defined(TARGET_PALMOS) && !defined(TARGET_SYMBIAN) && !defined(TARGET_WINCE)”,也就是不调用CheckARM5E()等函数。


http://www.niftyadmin.cn/n/1404323.html

相关文章

教你学会正则表达式

Created on 2019年12月2日 author: 安阳师范学院某菜鸡 行定位符 行定位符就是用来描述字符串的边界.^表示行的开始,$表示行的结尾 假设给定字符串为"abccba" 那么^ab就可以匹配到,因为他表示匹配以ab开头的字符串,^ba就不可以了,ba$可以,因为ba在行尾 如果要求…

在vs2005中添加lib库的方法

在vs2005中添加lib库的方法 转载http://houjixin.blog.163.com/blog/static/356284102009111642716582/ 方法一:在用到lib的地方加上 //强烈推荐这种方法。#pragma comment(lib,"libname.lib") 方法二:点击菜单命令 “项目/属性”&am…

python中如何使用正则表达式查询字符串

Created on 2019年12月2日author: hp上一篇文章介绍了那么多关于正则表达式的用法,现在终于到了python中如何使用正则表达式了,不急,请诸君慢慢来之前在讲字符串时,已经说过了字符串的格式化输出,大家没看的可以看我的上一篇文章 格式化输出时,是含有模式串的,同样的,在python里…

设计模式之state模式(一)

// 详细代码请从我的资源中下载 // 状态模式主要用来解决的是当控制一个对象转换的条件表达式过于复杂时的情况。 // 把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 // 当然,如果这个状态判断很简单,那就没…

如何更换wince壁纸?

将图片文件拷贝到生成平台目录,如:拷贝 Wallpaper_800600.bmp 到D:/WINCE500/PBWorkspaces/SHELL_demo/RelDir/Emulator_x86_Release 下 Platform Builder 5.0 下点击菜单 “Build OS” -> “Open Release Directory” 在弹出的 console 中 输入: not…

程序员养生之道

程序员养生之道(未写完) 作为一名程序员,要时刻注意自己的身体,不要代码还没敲多少年身体就不行了或挂了,所以,我专门上网上了解了中医学中各种对身体补益的食物,也就是药膳. 首先看下图,下图表明: 肝属木,木表示植物,植物最大的特性就是生发,调达.而肝脏的特性也是调达疏泄气…

wince 去掉任务栏

采用standard shell 两种方法 代码%_winceroot%/public/shell/oak/hpc 1、在taskbar.cpp中将函数BOOL CTaskBar::Register()的内容全部删除,直接return TRUE; 2、在explorer.cpp中将函数DWORD WINAPI CreatTaskBar()的内容删除,直接return 0; 采用tas…

设计模式之适配器模式(二)adapter

程序从我的资源下载。 AdapterDesignPatterns 适配器模式(Adapter)将一个类的接口转换成客户希望的另外一个接口。Adapter模式使用原本由于接口不兼容而不能一起工作的那些类可以一起工作。 程杰在《大话设计模式》一书当中使用了姚明在NBA需要翻译的例…