gpt4 book ai didi

c - 实现无中断自动保存

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

我一直在修改 Xournal 的代码以添加自动保存功能。我最初的实现非常愚蠢:每 60 秒左右,进行一次保存。该功能表面上有效。

但是,经过一段时间的测试后,我注意到当自动保存运行时,应用程序会暂时卡住,如果您正在笔划中,这会非常烦人。我在想办法解决这个问题。

我想到的一种可能性是自动保存在自动保存之前检查笔是否触摸屏幕;如果它被触摸,在笔被抬起后附上一个一次性的回调。 (如果发生同样的事情,重复)。另一种可能性是充分优化保存功能,以便没有间隙(似乎不太可能)。

有人对此有什么建议吗? Xournal 使用 Gnome/GTK 工具包,并用 C 语言编写。

更新:我实现了反破坏逻辑,我对由此产生的自动保存粒度和性能感到非常满意。其中一次线程(谢天谢地)不是必需的!感谢大家的建议。

最佳答案

如果 UI 在任何明显的时间段内卡住,则可能需要一个单独的线程。如果您注意到 UI 卡住的唯一原因是您恰好当时正在写作并且中断时间很短,那么您的方法可能会奏效。您的修复可能比创建另一个线程更容易,因此请先尝试。

如果您最终使用线程,请使用 g_threads 而不是 pthreads,因为您使用的是 GTK+。它们会更便携。

关于c - 实现无中断自动保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627351/

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