gpt4 book ai didi

c - 为什么要使用 validating/invalidating 区域?

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:14 25 4
gpt4 key购买 nike

当窗口的一部分需要重绘时,该区域被标记为无效,而当我重绘该区域时(在WM_PAINT 事件处理程序中),我应该将该区域标记为有效。

但我不明白为什么需要将区域标记为无效然后稍后对其进行验证,我的意思是为什么不直接执行以下操作:当需要重新绘制区域时,只需发送一个 WM_PAINT 消息(不将该区域标记为无效),然后重新绘制该区域(不将其标记为有效)。

最佳答案

想象一下有人向栅栏扔球。球击中栅栏后,您会重新粉刷栅栏吗?不,当且仅当自上次重新粉刷后有球击中围栏时,您才重新粉刷围栏。

您建议在任何时候将某个区域标记为无效,而不是向应用程序发送 WM_PAINT 消息。这样做的大问题是,如果同一区域多次无效,将导致发送许多 WM_PAINT 消息,并且无法知道其中许多已被处理。所以在你最需要高性能的时候(因为你在绘图上落后了)你不得不一遍又一遍地重复相同的绘图操作。这没有意义。

关于c - 为什么要使用 validating/invalidating 区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32447831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com