Copying a Large File Causes Your Handheld Device to Slow Down (327540)



The information in this article applies to:

  • Microsoft Windows CE .NET 4.1

This article was previously published under Q327540

SYMPTOMS

After you work with a lot of data in the Windows CE file system (for example, when you copy a large file to the RAM file system), your device may seem to run slowly.

CAUSE

The RAM file system constantly checks for fragmentation of the storage structure that is used to store files, databases, and the registry. The compaction process is CPU-intensive; the process can take a lot of time if there is a lot of fragmentation.

RESOLUTION

A supported software update is now available from Microsoft as Windows CE 4.0 Core OS QFE Q327540. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:

837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products

The English version of this package has the following file attributes or later:
   Size     File name
   -------------------------------------------
   346,720  020906_armv4i_wce41-q327540.exe    
   346,720  020906_armv4t_wce41-q327540.exe    
   346,720  020906_armv4_wce41-q327540.exe    
   334,432  020906_mips16_wce41-q327540.exe    
   350,816  020906_mipsii_fp_wce41-q327540.exe
   350,816  020906_mipsii_wce41-q327540.exe    
   350,816  020906_mipsiv_fp_wce41-q327540.exe    
   350,816  020906_mipsiv_wce41-q327540.exe    
   338,528  020906_sh3_wce41-q327540.exe    
   338,528  020906_sh4_wce41-q327540.exe    
   322,144  020906_x86_wce41-q327540.exe    
				
The English version of this fix has the file attributes (or later) that are listed in the following table.
   Date         Time   Size     File name   Platform
   ---------------------------------------------------------
   08-Aug-2002  13:48  182,166  Fsmain.lib  armv4\debug
   08-Aug-2002  13:48   69,632  Fsmain.pdb  armv4\debug
   08-Aug-2002  13:48  154,430  Fsmain.lib  armv4\retail
   08-Aug-2002  13:48   69,632  Fsmain.pdb  armv4\retail
   08-Aug-2002  13:46  182,438  Fsmain.lib  armv4i\debug
   08-Aug-2002  13:46   69,632  Fsmain.pdb  armv4i\debug
   08-Aug-2002  13:46  154,644  Fsmain.lib  armv4i\retail
   08-Aug-2002  13:46   69,632  Fsmain.pdb  armv4i\retail
   08-Aug-2002  13:45  174,214  Fsmain.lib  armv4t\debug
   08-Aug-2002  13:45   69,632  Fsmain.pdb  armv4t\debug
   08-Aug-2002  13:44  149,414  Fsmain.lib  armv4t\retail
   08-Aug-2002  13:44   69,632  Fsmain.pdb  armv4t\retail
   08-Aug-2002  13:52  162,418  Fsmain.lib  mips16\debug
   08-Aug-2002  13:52   69,632  Fsmain.pdb  mips16\debug
   08-Aug-2002  13:51  111,986  Fsmain.lib  mips16\retail
   08-Aug-2002  13:51   69,632  Fsmain.pdb  mips16\retail
   08-Aug-2002  13:50  197,766  Fsmain.lib  mipsii\debug
   08-Aug-2002  13:50   69,632  Fsmain.pdb  mipsii\debug
   08-Aug-2002  13:49  148,812  Fsmain.lib  mipsii\retail
   08-Aug-2002  13:49   69,632  Fsmain.pdb  mipsii\retail
   08-Aug-2002  13:53  197,774  Fsmain.lib  mipsii_fp\debug
   08-Aug-2002  13:53   69,632  Fsmain.pdb  mipsii_fp\debug
   08-Aug-2002  13:53  148,820  Fsmain.lib  mipsii_fp\retail
   08-Aug-2002  13:53   69,632  Fsmain.pdb  mipsii_fp\retail
   08-Aug-2002  02:00  200,176  Fsmain.lib  mipsiv\debug
   08-Aug-2002  02:00   69,632  Fsmain.pdb  mipsiv\debug
   08-Aug-2002  13:59  149,874  Fsmain.lib  mipsiv\retail
   08-Aug-2002  13:59   69,632  Fsmain.pdb  mipsiv\retail
   08-Aug-2002  13:56  200,184  Fsmain.lib  mipsiv_fp\debug
   08-Aug-2002  13:56   69,632  Fsmain.pdb  mipsiv_fp\debug
   08-Aug-2002  13:56  149,882  Fsmain.lib  mipsiv_fp\retail
   08-Aug-2002  13:56   69,632  Fsmain.pdb  mipsiv_fp\retail
   08-Aug-2002  13:55  163,080  Fsmain.lib  sh3\debug
   08-Aug-2002  13:55   69,632  Fsmain.pdb  sh3\debug
   08-Aug-2002  13:54  125,206  Fsmain.lib  sh3\retail
   08-Aug-2002  13:54   69,632  Fsmain.pdb  sh3\retail
   08-Aug-2002  13:58  163,056  Fsmain.lib  sh4\debug
   08-Aug-2002  13:58   69,632  Fsmain.pdb  sh4\debug
   08-Aug-2002  13:58  125,168  Fsmain.lib  sh4\retail
   08-Aug-2002  13:58   69,632  Fsmain.pdb  sh4\retail
   08-Aug-2002  13:43  148,328  Fsmain.lib  x86\debug
   08-Aug-2002  13:43   69,632  Fsmain.pdb  x86\debug
   08-Aug-2002  13:43  103,632  Fsmain.lib  x86\retail
   08-Aug-2002  13:43   69,632  Fsmain.pdb  x86\retail
				

MORE INFORMATION

With this hotfix you can adjust the priority of the compaction thread so that you can tune the CPU time. These changes to the Windows CE file-system-compaction have no effect unless you add the following registry key to the platform:

HKEY_LOCAL_MACHINE\System\ObjectStore
CompactionPrio256=DWORD:251

The default setting is 251. This is equivalent to typical thread priority. To set the compaction thread to run at idle, set the priority to 255. It is a good idea to set this value between 251 and 255.

If you change the setting, you must reset the device to make the change take effect.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Modification Type:MinorLast Reviewed:5/27/2005
Keywords:kbbug kbenv kbfix kbQFE KB327540