[技术| 编程·课件·Linux] 如何实现撤销和恢复功能?

soukeiki · 发布于 2019-07-12 19:15 · 853 次阅读
1371
尊敬的各位,我想实现一个撤销和恢复的功能。
是关于纹理的,没错,就是OpenGLES中的那个纹理,是要作为渲染出来的图像使用的。
但是每个状态渲染出来的效果是不一样的。
现在要恢复到不同的状态,就不需要保存所有要被用到的纹理才行。
然后这极大地浪费了内存空间,很容易因为内存告急而崩溃。
因为图像处理可以采用记录数据的方式,但是有些只能记录纹理。
请问,各位有没有什么好的妙招?

共收到 3 条回复
admin · #2 · 2019-7-12 22:09:36  回复 支持 反对
想省空间 就要浪费时间了 是不是可以记录纹理的名称或者算法或者操作呢 实际上不是恢复 而是重新做一次纹理或者同样的操作 类似于游戏的录像 也不是记录视频画面

点评

这个要求是实时的,如果采用重新操作的方法,那么时间复杂度会随着用户的操作线性增长,就会出现操作过多以后明显出现卡顿的现象。  详情 回复 发表于 2019-7-15 09:53
soukeiki · #3 · 2019-7-15 09:53:23  回复 支持 反对
admin 发表于 2019-7-12 22:09
想省空间 就要浪费时间了 是不是可以记录纹理的名称或者算法或者操作呢 实际上不是恢复 而是重新做一次纹理 ...

这个要求是实时的,如果采用重新操作的方法,那么时间复杂度会随着用户的操作线性增长,就会出现操作过多以后明显出现卡顿的现象。

点评

貌似又能省空间 又能省时间的方法是不存在 还有一个思路,就是把图像分块处理 这样可以降低存储空间  详情 回复 发表于 2019-7-15 15:43
admin · #4 · 2019-7-15 15:43:29  回复 支持 反对
soukeiki 发表于 2019-7-15 09:53
这个要求是实时的,如果采用重新操作的方法,那么时间复杂度会随着用户的操作线性增长,就会出现操作过多 ...

貌似又能省空间 又能省时间的方法是不存在

还有一个思路,就是把图像分块处理

这样可以降低存储空间
回帖
B Color Image Link Quote Code Smilies
Command + Enter
快速回复 返回顶部 返回列表