0

我正在创建一个绘图 iOS 应用程序,并且需要平滑用户绘制的线条。我像往常一样使用多重采样。

对于用户每次移动手指,代码如下:

  1. 创建点以形成一条线,然后将这些点绘制到采样缓冲区。
  2. 解析采样缓冲区。
  3. 结果缓冲区被绘制到画布上。

问题是当用户有一个大画布(例如:2048x2048)时,解决过程需要相当长的时间导致绘图滞后/不稳定。解析过程将解析缓冲区中的所有像素,无论这些像素是否需要解析。

我看到像 Procreate 这样的绘图应用程序,即使对于大画布,它也可以流畅地绘制,没有延迟。

所以,有可能,我只是不知道该怎么做。

有没有人有解决方案的想法?

谢谢。

4

1 回答 1

0

万一有人和我有同样的问题,我找到了一个不错的解决方案:

  1. 创建一个较小的采样 FBO 只是为了绘制从最后一个点到当前点的线。我使用 256x256 缓冲区。
  2. 当从最后一个点绘制到当前点时,使用这个采样缓冲区然后解析。
  3. 将此采样缓冲区绘制到当前层。

结果还不错,不再滞后。唯一的问题是设置适当的变换、矩阵等非常困难。

于 2013-08-29T11:04:28.850 回答