如何使用 GPU 在双缓冲表面上为文本输入控件绘制插入符号?

How to draw carets for text input controls on double-buffered surface with GPU?

例如,当我有一个复杂的视图并且唯一实际改变的是插入符号时,我不想为了更新插入符号而重绘整个场景。

目前我能想到的唯一合理的方法是缓存没有光标的内容。这似乎不是一个太糟糕的问题,但我必须在始终渲染到纹理或决定是否始终渲染到纹理之间做出选择。

也许这个问题可以推广到 "the right way to handle an almost-static complex scene with GPU"。

我在一些游戏中的工作经验是,通常会再次渲染整个场景。在您自己实施缓存的每一帧重新渲染资源的成本过高的情况。例如您缓存动态光的阴影贴图,直到光再次移动。

你描述的缓存解决方案是自动缓存无论如何都必须的,所以它不是不合理的。再次渲染整个场景有什么顾虑?