2009

rom换新的了:Energy的23016

上次刷的jack的还算比较稳定,但是由于一些牺牲内存优化速度的设置导致开机内存占用超过50%,对一般应用可能没什么影响,但对一些像游戏类的占用内存较大的应用就无法运行了(目前发现也只是少部分)。于是换了个没有touchflo 3d面板的23016的rom,开机内存40%多,附带的工具也比较全,据说23016还是比较稳定的,试试看。

最近加入了Xperia X1的刷rom一族…

机器买来的时候已经被JS刷过Hard SPL了,省我自己费事了。JS刷的是CoinJun的6.1 v2.5,就像各大论坛上的机友说的那样,这个版本的rom的确是比较稳定的。但现在6.5已经快正式发布了,外加原rom系统里整合了一些我认为没用的东西,且不能单独删掉,于是便开始自己找rom刷刷玩了。
本来想找个中文rom的,但逛了许多论坛也没看到太合适的,总觉得整合的软件啊什么的太多了,用不少,于是上了国外比较知名的xda找英文rom刷,第一个试的是jack的4.3 lite,基本没整合什么东西,国内有不少人也推荐这个rom。挂上雅黑字体包和里面的nls替了区域设置后,基本的中文显示也没有问题了(闹钟里面的周六看不到,这个是目前发现的比较恶心的中文字体问题!)。由于lite净化的比较彻底,一些常用的东西,像任务管理器啊,mms彩信啊都要一个一个装,rom倒是带了个叫UC的解决方案,就是解决这些需要后装软件的问题,不过还得自己定义安装脚本,懒得折腾,慢慢装。
PS:由于最近刚换上联通的wcdma,正好试验了一把,信号一般,远没有达到7m的理论上限,不过刚起步的东西也可以理解,希望以后会好。6.1上有个问题就是hsdpa的连接问题,以前coinjun的6.1上刚开始建立数据连接的时候是H标志,但1分钟左右就会变回普通的3G标志,刷机后的6.5就会一直维持H标志,猜想是6.1会根据当前连接的实际贷款调整显示的标志,而这次刷的6.5却不会,但实际测试的数据传输速度依然是远没达到hsdpa的理论上限!

WM模拟器上DirectDraw的BackBuffer问题解决方法

上次在参考研究mobile sdk 6.0中自带的DDraw例子时发现在模拟器上跑到创建后备缓冲时由于不支持DDSCAPS_BACKBUFFER而导致程序不能运行,google了一通发现m$网站和其他一些论坛上也有人问过类似问题,得到的答案貌似是说emlator上不能跑DDraw和D3D的程序,要测只能用device,其实只要自己实现一个创建后备缓冲以及用blit模拟flip的方式就可以在模拟器上跑了,并不是模拟器根本就没有实现DDraw,只是没有实现硬件后备缓冲、翻转等操作(其实在现在的PC模拟器上的这2种方式应该也没有什么效率上的差异吧)。
具体代码:
Continue reading…

Nokia官网Sound Mixer Example v2.1中用的wav文件格式

Nokia官网提供的混音示例程序中http://www.forum.nokia.com/info/sw.nokia.com/id/650db12f-06aa-4608-b17a-387b70412304/S60_Platform_Sound_Mixer_Example_v2_1_en.zip.html使用的wav格式为16-bit mono的标准pcm采样文件的纯采样数据部分(这样好处是去掉了wav头信息,减少了一定的容量,坏处就是不能用一般的播放器直接播放),以下为生成该种wav的方法:
Continue reading…

windows mobile中的directdraw

今天说研究一下mobile的游戏开发吧,先从2d这块入手。查到资料说早期是用一种叫做gapi的接口作的,但后来被directdraw取代了,那就用dd吧,好在以前研究过pc的,找了个例子看了看基本差不多,可发现模拟器上无法运行,因为后备缓冲不支持,真是麻烦了啊,调试只能用真机了?

Symbian项目build pkg时出现unknown line的一个可能原因

项目的sis打包配置文件pkg由于需要写入中文,所以编码该文件的编码被设置为UTF-16,但CVS好像对unicode的支持不是很好,在将pkg识别为文本模式的情况进行代码同步等操作时会对换行符进行替换处理,导致pkg文件的换行符出现异常,makesis解析的时候就会出现提示第1行的unknown line错误(直接在carbide.c++中打开pkg文件看不出错误,用notepad看所有换行位置都被替换成了错误字符!)。

解决方法可以将pkg换成使用二进制方式传输(自己没试,应该没问题,而且文本模式下只要不让处理换行符也没问题),或者使用WinHEX等16进制编辑器将错误pkg中的所有00 0D 0A 00 0D 0A替换成00 0D 00 0A正确的UTF-16换行符就可以了。

找了个VPN代理,把Akismet启用了!

Akismet装好wp的时候就自带的一个插件,看描述是个过滤垃圾评论的东西,无奈由于无法访问wordpress官方网站导致api key注册不能,一直没有启用。最近的垃圾评论让我很郁闷,于是找了个代理注册了个api key,把这个插件启用了,看看效果如何。

发现wordpress的版本更新功能做的非常方便

今天在后台管理的时候,发现wp有新版本,直接点了上方提示的链接后就自动下载压缩包,然后解压升级就搞定了,实在是方便啊。想想以前用movabletype的时候还要折腾,这种方法多省心,不知道以后会不会由于自动更新导致问题?

symbian alpha blending的问题

symbian系统api中对alpha混合的实现不是很好,至少不是很灵活,比如必须配合256级灰度mask图等,如果只是想填充半透明的矩形区域的话这样显然比较浪费内存。比较好的方法是自己实现类似矩形半透明填充等的算法,也就是那个src*alpha+(1-alpha)*dst的alpha混合算法,通过一些多项式合并以及用整数运算代替浮点运算的方法,可以对其执行效率有一定的优化,在内存允许的情况下,使用查表的方式可以对速度有更进一步的提高。另一个问题是,对于N95类ARMv6架构的CPU来说,如何在生成exe的时候使编译器支持armv6指令从而使用simd对alpha混合等大量像素级的数据运算进行并行优化?目前研究了一段时间也没发现carbide上能启用armv6的方式,我想是由于需要对N73类同为3rd的机型的兼容吧。