Mouse Gestures Plus!

Deguix的”Mouse Gestures”脚本将AutoHotKey的应用提升到了一个崭新的高度,使其远远超越了“热键”本身所涵盖的范畴。这两天抽空看了一下它的代码,感觉算法还是不错,可扩充性的设计也比较灵活。通过将用户扩充指令写入脚本,然后调用AutoHotKey执行之,实现了近乎无限可能的手势指令。可惜这种理想化的可扩充性设计带来了一个很严重的后果——明显的性能降低。实际使用中发现,手势划完松开鼠标右键后,大约有半秒到1秒的延迟才能触发动作,这在开了较多程序后更为明显。(我这三年前的老机……)

今天将原脚本优化了一下,解决了性能瓶颈,并修正了一些小bug:

继续阅读Mouse Gestures Plus!

脆弱的Windows——又遇csrss.exe 100%CPU占用问题

今天开机后突然发现鼠标右键菜单弹出速度变得奇慢无比,并伴随着短时间内系统呈假死状…… 打开任务管理器一看,原来是鼠标右键菜单弹出期间csrss.exe占用了大量CPU。

遇到这种问题,直觉首先是警惕病毒/木马的侵袭,但经过多方扫描,基本排除了这种可能。不过这年头动不动就占用100%CPU的垃圾木马也能肆虐互联网,可见编程技术的江河日下…… 因为之前什么Explorer、svchost占用100%CPU的问题遇的多了,大部分时候还是出在Windows本身与安装的应用程序兼容性上,虽然还是第一次遇到csrss.exe出此症状,但也可能性颇大。搜索了一下互联网,解决方法大多是向你推荐某某杀毒软件,好不容易找到几个非病毒原因的案例却也是药不对症。偶然间找到了一篇微软支持中心的文章《Csrss.exe uses 100% of the CPU When you Right-Click an item in Explorer》,提到在Explorer或桌面点击鼠标右键时出现csrss.exe占用100%CPU的症状,原因可能是用户帐号配置信息损坏。但解决措施却吓了我一跳:直接删除并重新创建用户帐号配置信息。这么轻描淡写的几句话,要不是对Windows稍有了解的用户,恐怕会举手之间就已造成无法挽回的损失了。

考虑再三,又经仔细推敲,发现我所遇症状其实还略有差别。不仅Explorer和桌面会出现这个症状,就连随处点击鼠标右键的标准弹出菜单都是一般。于是,我还是暂时放弃尝试上面的“解决之道”,选择继续探索答案。无意中发现一位网友提到在“显示属性-外观-效果”中关闭“淡入淡出”的菜单弹出效果可解决此问题,初见之下,颇不以为然。想Windows XP成名数载,又修炼了无数补丁,岂会因这么简单一个问题而导致内息不畅,经脉错乱。没想到一试之下竟然立即奏效!不仅概叹WinXP之脆弱,实不亚于系出同门的兄弟IE。

回想起来,昨晚睡觉前安装了ATI的最新催化剂驱动7.8版本 ,多半才是真正的罪魁祸首。可怜我的9550虽尚能饭,却早已被AMD/ATI的驱动开发团队给遗忘了……