写注册表永久保存之后,系统性能变慢的解决

news/2024/5/18 23:40:29 标签: thread, signal

http://blog.csdn.net/shuiii/archive/2007/04/27/1587330.aspx--------------作者比较厉害,SD卡等都有涉及

注册表永久保存终于是搞定了,但新的问题又来了。由于注册表保存在nandflash,每次修改注册表都会去读写nandflash,播放视频时,对会写入很多新的注册表键值,每次读写nandflash来保存这些键值会造成很多CPU资源的浪费,所以每次刚开始播放都会有停顿的现象。

解决:修改注册表platform.reg

[HKEY_LOCAL_MACHINE/init/BootVars]
   "SystemHive"="system.hv"
  "DefaultUser"="default"
  "Flags"=dword:3
  "RegistryFlags"=dword:1

--------------------------------------------------------------------------------

"RegistryFlags"=dword:1改成dword:0,不用每次注册表修改就自动去flush注册表。

--------------------------------------

设置环境变量  SET  PRJ_ENABLE_REGFLUSH_THREAD=1

IF PRJ_ENABLE_REGFLUSH_THREAD
[HKEY_LOCAL_MACHINE/System/ObjectStore/RegFlush]
; To monitor the flushing from an external process add "ActivityName" registry value.
; The activity name is a global named event that filesystem will signal on Registry Activity.
;   "ActivityName"=""
; Create an thread in filesys to perform flushing
    "SpawnThread"=dword:1
; Make the thread IDLE priority
    "FlushPriority256"=dword:FF
; ActivityThreshold specifies the # of reg activity before we force a flush
    "ActivityThreshold"=dword:100
; Timeout period for a flush (flush occurs if there have been some changes during this period)
    "FlushPeriod"=dword:3E8
ENDIF

-----------------------------------------------------------------------------------------------------------------------

让系统在一个周期内都flush注册表。"FlushPeriod"=dword:3E8 默认设置为1秒钟。


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

相关文章

WINCE注册表应用

挺有用的帖子,对原作者表示感谢。 http://blog.csdn.net/norains/archive/2006/04/25/677244.aspx 新一篇: WINCE实现直接写屏(一) // //AUTHOR: // norains //DATE: // Tuesday 25-April -2006 // 1.让桌面不显示"我的电脑","回收站&qu…

Windows CE下操作GPIO的方法(以ARM9 S3C2410为例)

GPIO 是ARM芯片最基本的输入输出通道,在ADS下操作就是一个单片机工作,直接读写其寄存器。在ARM9平台上,Windows CE系统将GPIO的实地址(例如2410的GPIO的基地址为0x56000000)映射到虚拟地址空间(GPIO对应为0xB1600000)&…

wince下的地址映射知识点滴

1.如果是在bootloader中访问设备寄存器,可以直接操作物理地址。 2.wince启动后,硬件上ARM和X86体系的处理器启动了MMU,操作系统只能访问到虚拟地址,不能直接操作物理内存了。但是如果是X86的CPU,由于它的外设I/O端口和…

Wince的详细编译过程

在讲述编译过程前必须先了解环境变量以及如何读取和设置环境变量。一个环境变量包含了一个CE操作系统某一方面的信息。例如一个驱动程序、一个路径、一个配置文件、一个特征等。当PB编译CE平台时,先做的工作就是收集所有的环境变量供编译器使用。读取和设置环境变量…

WinCE中,环境变量的添加,删除和查询

在WinCE中有很多的环境变量,那么如何设置/删除/查询这些环境变量呢: 1. 查询环境变量:无论是在WinCE5.0还是WinCE6.0,当我们在PB里打开或者创建一个工程以后,我们可以在菜单中点“build”->“Open Release Directo…

OEMAddressTable介绍

一般在ARM架构的CPU上,物理地址都是统一编址的,寻址空间为4GB(32Bit CPU)。也就是说,针对一个ARM的处理器,它可以访问的物理空间是4GB。在WinCE中,ARM中的4GB物理地址空间将被映射为512MB的虚拟内存空间。 OEMAddressT…

WinCE5.0/6.0下,通过command line实现自动化编译

好久没写Blog了,实在觉得说不过去了,今天介绍一下WinCE的自动化编译。 先来解释一下:一般我们要编译WinCE都是先创建工程,然后再IDE的开发环境中进行编译。对于WinCE5.0来说,是用Platform Builder5.0;对于W…

bootloader 开发,最郁闷前三步

在书市和网上溜达一圈,只发现两本关于Bootloader的开发资料。一个是电子工业出版社出版的《Windows CE.NET实用开发技术》;另一个是PB的HELP文件。其他大多为介绍Bootloader相关知识的,最多也就是修改一下官方的Bootloader源码。 觉得没什么…