我正在阅读 Larry Osterman 关于调试 Windows Vista/7 音量控制中闪烁问题的最新博客文章,我突然意识到我不记得曾经在我的 OS X 笔记本电脑上看到过应用程序闪烁。根据我的经验,即使是看起来写得很糟糕的应用程序也能避免闪烁问题。如果没有这变成 Apple 与 Windows 的辩论(请),为什么 OS X 应用程序似乎没有同样的闪烁问题?
我很难相信 Apple 开发人员在编写无闪烁 GUI 方面简直令人惊叹,而 Windows 程序员却很糟糕,那么原因是什么?OS X API 是否需要所有 GUI 来实现双缓冲?虽然一些应用程序的双缓冲调整大小行为稍显迟缓,但许多应用程序没有,而且它们仍然避免闪烁。OS X 重绘流程是否与 Windows 有根本的不同,WM_ERASEBKGRND
完全避免了这个问题?或者还有其他一些我没有看到的可能性?
更新:感谢您的回答。我希望我可以同时选择 ken 和 cb160 的答案,因为它们都很有帮助。