到了Visual Studio 2012时,WPF的设计器已经非常好用了,大多数的时候基本上可以抛弃Blend了。但是,仍然存在一些不令人满意的问题,那就是当项目非常大的时候,很多时候页面切换变得比较缓慢,这其中的原因比较多,其中一个原因是WPF要生成大量缓存文件,这些文件存在于文件夹 %USERPROFILE%AppDataLocalMicrosoftVisualStudio12.0DesignerShadowCache 中,像我最近弄的一个项目基本上就占用了150多mb空间。
由于WPF项目开发过程中要反复读写这些不小的缓存文件,因此,提高这些缓存文件的读写速度能加速程序的响应速度。提读写速度的一种方式是换固态硬盘,但这种硬件的升级往往是老板不买账的。这里我推荐一种更加经济而高效的做法,步骤如下:
-
划分一块内存(推荐至少1G)映射为NTFS格式的硬盘RamDisk
-
在RamDisk上创建Cache目录
-
通过mklink命令将缓存目录映射到Ramdisk上
映射命令如下: mklink /j %USERPROFILE%AppDataLocalMicrosoftVisualStudio12.0DesignerShadowCache r:Cache 。我这里用的是VisualStudio 2013,RamDisk映射为R盘,请读者朋友们按照实际情况修改。
需要注意的是,由于RamDisk重启后会删除,因此记得设置RamDisk为启动时自动创建Cache目录,否则估计VS会出现找不到缓存目录的错误。