如何优化WM5的系统性能 | In Ur Hand

来源:百度文库 编辑:神马文学网 时间:2024/04/30 02:45:52
WM5的系统性能是个小小的谜团。根据微软的说法,WM5的系统性能相对于WM2003SE来说有不少提高。但是,如果你留意一下网上WM5新设备用户的反馈的话,你会发现有很多对于系统响应速度的抱怨,尤其是那些从WM2003升级上来的用户。事实的情况是怎么样的呢?
从我自己的体会来说,两种说法都有道理:
-WM5的系统底层是做了一定优化的,比如说很多需要强力CPU运算的操作,比如说一些模拟器和游戏,速度都有一定提升。从稳定性来说,更是有很大提升。
-而WM5系统的响应速度相对于WM2003SE来说,可以说有很大的倒退,尤其是在那些VGA的系统上表现得更明显。
那么,如何来改善WM5系统的响应速度呢?要先找到关键的症结所在。毫无疑问,PersistentStorage的加入,解决了丢失数据的可能性,不过,由于所有的数据要在相对于RAM很慢的ROM里读写,系统很多时候都停下来等ROM的数据操作,瓶颈很显然出现在了ROM的读写操作上。如果想根本的解决这个问题,还是要OEM厂商从硬件层次着手。但是,从以下几个方面着手对于系统进行优化可以有效地提升系统速度,以解我们的燃眉之急。
请注意,编辑注册表有一定风险,请先备份自己数据,学会如何硬起自己的设备再动手。另外WM5编辑注册表方式与以前稍有不同,请见这里。
Many thx to Tuatara on xda-developers forum for some tweaks
如何优化WM5的系统性能 - 打开Cache
周六, 2006-02-11 17:46 inPPC/WM/CE手册
要发表评论,请先登录 或注册
WM5的大量应用都涉及到Flash ROM的读写操作,而ROM的速度慢的可以。看起来最好的办法是在RAM中开辟Cache,加速系统。
请从注册表中的这个键值开始动手:
[HKEY_LOCAL_MACHINE\System\StorageManager\...]
请注意,这将从系统内存里辟出很多空间作为缓存,如果你的内存已经非常紧张,比如说VGA系统的机器,请慎用。
效果最明显的是以下两个:
打开ROM读写高速缓存(占2M内存,请酌情修改):
HKEY_LOCAL_MACHINE\System\StorageManager\
FATFS\CacheSize=0x1000(4096)
HKEY_LOCAL_MACHINE\System\StorageManager\
FATFS\EnableCache=0x1(1)
HKEY_LOCAL_MACHINE\System\StorageManager\
Filters\fsreplxfilt\ReplStoreCacheSize=0x1000(4096)
这个看起来是给数据加缓存的(占2M内存,请酌情修改):
HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\
MSFlash\FATFS\Filters\DataCacheSize=0x1000(4096)
HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\
MSFlash\FATFS\Flags=0x28(40)
其他的一些设置供参考:
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"BufferSize"=dword:00000100 "CacheDll"="diskcache.dll""CacheSize"=dword:00001000 "DataCacheSize"=dword:00001000"Dll"="fatfsd.dll" "EnableCache"=dword:00000001"EnableCacheWarm"=dword:00000001 "EnableDataCacheWarm"=dword:00000001"EnableFatCacheWarm"=dword:00000001 "EnableWriteBack"=dword:00000001"Flags"=dword:00010046 "Paging"=dword:00000001"PathCacheEntries"=dword:00000080 "Util"="fatutil.dll""FormatTfat"=dword:00000000
[HKEY_LOCAL_MACHINE\System\StorageManager\IMGFS]
"BufferSize"=dword:00000100 "CacheDll"="diskcache.dll""CacheSize"=dword:00001000 "DataCacheSize"=dword:00001000"Dll"="imgfs.dll" "EnableCache"=dword:00000001"EnableCacheWarm"=dword:00000001 "EnableWriteBack"=dword:00000001"Flags"=dword:00010016 "Paging"=dword:00000001"PathCacheEntries"=dword:00000080 "ShadowROM"=dword:00000001"XIP"=dword:00000000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\IMGFS]
"BufferSize"=dword:00000100 "CacheDll"="diskcache.dll""CacheSize"=dword:00001000 "DataCacheSize"=dword:00001000"Dll"="imgfs.dll" "EnableCache"=dword:00000001"EnableCacheWarm"=dword:00000001 "EnableWriteBack"=dword:00000001"Flags"=dword:00010016 "Paging"=dword:00000001"PathCacheEntries"=dword:00000080 "ShadowROM"=dword:00000001"XIP"=dword:00000000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash_RAMFMD\FATFS]
"CheckForFormat"=dword:00000001 "MountAsBootable"=dword:00000000 "MountAsRoot"=dword:00000000 "FormatTfat"=dword:00000000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\TRUEFFS_DOC1\FATFS]
"BufferSize"=dword:00000100 "CacheDll"="diskcache.dll""CacheSize"=dword:00001000 "CheckForFormat"=dword:00000001"DataCacheSize"=dword:00001000 "Dll"="fatfsd.dll""EnableCache"=dword:00000001 "EnableCacheWarm"=dword:00000001"EnableDataCacheWarm"=dword:00000001"EnableFatCacheWarm"=dword:00000001 "EnableWriteBack"=dword:00000001"Flags"=dword:00010056 "Paging"=dword:00000001"PathCacheEntries"=dword:00000080 "Util"="fatutil.dll""FormatTfat"=dword:00000001
如何优化WM5的系统性能 - RAMDISK
周四, 2006-07-06 20:14 inPPC/WM/CE手册
要发表评论,请先登录 或注册
很多时候系统都要读取写回数据到龟速的FlashDisk,比如说浏览器的Cache,大量这些文件的读写将严重拖慢速度。终极的解决办法是起用RAMDISK,将这些读写频繁,零散且不重要的文件放到单独开辟的放在RAM里的高速盘中。
然而,这种做法也有一些问题:
-内存断电可能造成数据丢失,从WM2003升级上来的机器拆掉电池后都有短时间的电容供电,原生的WM5机器不祥
-必须自己改造并刷写ROM,操作难度较大
-对于部分64M RAM的机器,内存已经很紧张,打开RAMDISK实际意义不大
具体操作:
(一)ROM的修改:
(1) xda2nbftool -x NK.nbf NK.nba 0x20040304
(2 ) 用 hex 编辑器( hexedit 或 UltraEdit )编辑 NK.nba 查找 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 08
红色部分是 ram 值 高位在后。 wm5 可使用的 ram=0x8000000H /0x400H/0x400H=0x80H M 十进制就是 128M (0x400H 十进制是 1024)
简单点改为以下值
64M FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 04
96M FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 06
128M FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 08
保存并退出编辑器
(3) xda2nbftool -c -u NK.nba (生成校验值)
(4) xda2nbftool -x NK.nba NK.nbf 0x20040304 (转回 nbf )
注:以上假设原 rom 是 128Mram 查找 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 08
如你的是其他的请按上面的不同值查找 并修改。
刷机后安装相应容量的 ramdisk 在软启就可以看见 ramdisk 了
(二)把 ramdisk 集成到 rom:
(1) 将 ramdisk.dll 拷贝到 dump 目录
(2) 加入注册表键值
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RAMDisk]
"Address"=dword:94000000
"Size"=dword:04000000
"FSD"="FATFS.DLL"
"SectorSize"=dword:00000400
"Key"="Drivers\BuiltIn\RAMDisk"
"Dll"="ramdisk.dll"
"Prefix"="DSK"
"FriendlyName"="RAM Disk Drive"
"Ioctl"=dword:00000004
"Profile"="RAMDisk"
"IClass"=hex(7):\
7b,41,34,45,37,45,44,44,41,2d,45,35,37,35,2d,34,32,35,32,2d,39,44,36,42,2d,\
34,31,39,35,44,34,38,42,42,38,36,35,7d,00,00,00,00
"Index"=dword:00000003
"Flags"=dword:00000000
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\RAMDisk]
"BootPhase"=dword:00000001
"AutoFormat"=dword:00000001
"AutoPart"=dword:00000001
"AutoMount"=dword:00000001
"PartitionDriver"="mspart.dll"
"Name"="RAMDisk"
"DefaultFileSystem"="FATFS"
"Folder"="Storage"
[HKEY_LOCAL_MACHINE\System\ObjectStore]
"RegistryType"=dword:00000000
(3 ) 生成 rom 文件
注意:不同容量在于以下键值:
"Size"=dword:4000000
Ramdiak 大小 0x4000000H 必须和 rom 的值对应 696ram 总容量 =0x8000000H
ramdisk =0x8000000H - 0x4000000H( 系统使用的 ram 大小 )=0x4000000H.
所以 ram 96M ramdiak=32M "Size"=dword:2000000
ram 64M ramdiak=64M "Size"=dword:4000000
ram 32M ramdiak=96M "Size"=dword:6000000
"Address"=dword:94000000
这是 ramdisk 在 ram 中的地址
ram 96M ramdiak=32M "Address"=dword:96000000
ram 64M ramdiak=64M "Address"=dword:94000000
ram 32M ramdiak=96M "Address"=dword:92000000
知道上面的道理 就不用去找不同大小的 ramdiak 版了,有一个自己改,自己算。
(三)把临时文件挪过去:
[HKEY_LOCAL_MACHINE\Software\HTC\XPanel]
- Move Volatile elements to RAM Disk
"MyCmd"="\\RAM Disk32\\MyCmd.txt"
[HKEY_LOCAL_MACHINE\System\FileSys]
- Move all Temporary Items to RAM Disk
"TempPath"="\\RAM Disk32"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
- Move all of IE‘s Temporary Files into RAM Disk
"Cache"="\\RAM Disk32\\Cache" "Cookies"="\\RAM Disk32\\Cookies" "History"="\\RAM Disk32\\History"
[HKEY_CURRENT_USER\ControlPanel\Sounds\TTSAnnounce]
- Move Voice Command Caller Identification into RAM Disk
"Sound"="\\RAM Disk32\\TTSCallerID.wav"
[HKEY_LOCAL_MACHINE\System\StorageManager\Filters\fsreplxfilt]
- Set the File & Directory Exclusions for the Filesystem Filter
"DirsToExclude"=hex(7):5C,00,6D,00,78,00,69,00,70,00,5F,00,69,00,6E,00,69,00,74,00,64,00,62,00,2E,00,76,00,6F,00,6C,00,00,00,5C,00,6D,00,78,00,69,00,70,00,5F,00,73,00,79,00,73,00,74,00,65,00,6D,00,2E,00,76,00,6F,00,6C,00,00,00,5C,00,6D,00,78,00,69,00,70,00,5F,00,6E,00,6F,00,74,00,69,00,66,00,79,00,2E,00,76,00,6F,00,6C,00,00,00,5C,00,6D,00,78,00,69,00,70,00,5F,00,6C,00,61,00,6E,00,67,00,2E,00,76,00,6F,00,6C,00,00,00,5C,00,63,00,65,00,6D,00,61,00,69,00,6C,00,2E,00,76,00,6F,00,6C,00,00,00,5C,00,70,00,69,00,6D,00,2E,00,76,00,6F,00,6C,00,00,00,5C,00,44,00,6F,00,63,00,75,00,6D,00,65,00,6E,00,74,00,73,00,20,00,61,00,6E,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,6E,00,67,00,73,00,5C,00,64,00,65,00,66,00,61,00,75,00,6C,00,74,00,5C,00,75,00,73,00,65,00,72,00,2E,00,68,00,76,00,00,00,5C,00,44,00,6F,00,63,00,75,00,6D,00,65,00,6E,00,74,00,73,00,20,00,61,00,6E,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,6E,00,67,00,73,00,5C,00,73,00,79,00,73,00,74,00,65,00,6D,00,2E,00,68,00,76,00,00,00,5C,00,57,00,69,00,6E,00,64,00,6F,00,77,00,73,00,5C,00,41,00,63,00,74,00,69,00,76,00,65,00,73,00,79,00,6E,00,63,00,5C,00,00,00,5C,00,57,00,69,00,6E,00,64,00,6F,00,77,00,73,00,5C,00,4D,00,65,00,73,00,73,00,61,00,67,00,69,00,6E,00,67,00,5C,00,00,00,5C,00,54,00,65,00,6D,00,70,00,5C,00,00,00,5C,00,52,00,41,00,4D,00,20,00,44,00,69,00,73,00,6B,00,33,00,32,00,5C,00,00,00,00"NumDirsToExclude"=dword:0000000C "ReplStoreCacheSize"=dword:00001000
Many Thx to younet的sqinxin.