我继承了一个现在必须在 Windows 10 上运行的遗留应用程序。在测试期间,我们发现程序的一部分(它是作为工具栏放置的子窗口)在程序启动时只会部分绘制——超过一半的工具栏的右侧只会绘制黑色。在运行时,修复是调整整个窗口的大小,这将调整/重绘工具栏窗口的大小。我们最终发现,如果我们设置“禁用显示缩放”似乎可以完全防止该错误(到目前为止测试的置信度刚刚超过 1 万分之一,这对我来说已经足够了)。
问题是:
这个错误的发生概率可能在 1/12 到 1/20 之间(我从我们对程序的自动测试的视频中确定,其中涉及 185 次错误发生的机会。没有发现发生的模式)。我从来没有处理过这样的错误,所以我想知道:鉴于错误的明显随机性和修复,发生了什么?Windows 为“高 DPI”而升级的位图渲染与布置工具栏的功能之间的竞争条件?