代码之家  ›  专栏  ›  技术社区  ›  Mattie

图层支持的NSTextView使用drawsBackground false进行大量额外绘图

  •  0
  • Mattie  · 技术社区  · 7 年前

    我遇到了一个问题,我的NSTextView在空闲时绘制了大量的工作图。光标闪烁将触发绘图。这是正常行为,但所做的绘图工作量过大。如果我超越 shouldDrawInsertionPoint 若要返回false,则工作将完全停止。

    据我所知,画画的频率并没有增加,只是需要做的工作量增加了。CPU所做的工作 根据NSTextView框架的大小进行缩放,但要根据NSTextStorage中的文本量进行缩放。我可以从仪器跟踪中看到,大部分是NSLayoutManager在做布局和绘制文本的工作。这真的让我很惊讶-它看起来肯定是在绘制不可见的文本。

    drawsBackground 设置为false,并且 wantsLayer

    有人知道怎么回事吗?

    0 回复  |  直到 7 年前