Quorafind / Obsidian-Thino

A quick capture plugin for Obsidian, all data from your notes.
1.12k stars 70 forks source link

[Bug]: 感觉thino突然变卡了,特别是在输入的时候,要延迟一会才会显示,感觉之前都比较流畅。 #531

Closed wopanda closed 7 months ago

wopanda commented 7 months ago

Bug Description | BUG 描述

thino条数仅299条。

Relevant Screenshot | 相关截图

No response

To Reproduce | 重现问题

No response

Obsidian Version | Obsidian 版本

v1.5.12

Which editor are you using? (If applicable)

Checklist

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


Title: [Bug]: It feels like thino suddenly becomes stuck, especially when typing, it takes a while to be displayed. It felt smoother before.

wopanda commented 7 months ago

我下载了thino 2.4.15来进行比对,发现流畅很多,是之前使用的样子,是否是这几版更新,引入了未知的bug?

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


I downloaded thino 2.4.15 for comparison, and found that it is much smoother, just like what I used before. Is it due to the updates of these versions that introduced unknown bugs?

Quorafind commented 7 months ago

碰到这个情况的话,可以看下是不是开了 Thino 同步

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


If you encounter this situation, you can check whether Thino synchronization is turned on.

whong1618 commented 7 months ago

我从 每日Thino页面,点击【返回首页】,需要等15秒左右,才能回到主页,这个速度有点慢啊……

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


If you encounter this situation, you can check whether Thino synchronization is turned on

When I click [Return to Homepage] from the Daily Thino page, I need to wait about 15 seconds to return to the homepage. This speed is a bit...

Quorafind commented 7 months ago

我从 每日Thino页面,点击【返回首页】,需要等15秒左右,才能回到主页,这个速度有点慢啊……

你的 Thino 数量大约多少,以及其它可能和性能相关的信息,例如你的是否存在非常深的列表,或者日记文件非常多。

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


I click [Return to Home Page] from the Daily Thino page, and it takes about 15 seconds to return to the home page. This speed is a bit slow...

The approximate number of Thinos you have, as well as other information that may be relevant to performance, such as whether you have very deep lists or a large number of journal files.

wopanda commented 7 months ago

碰到这个情况的话,可以看下是不是开了 Thino 同步

我之前仅是链接了同步功能,但是停止了同步;我刚更新thino到最新版本,并完全关闭了同步,感觉这种卡顿感觉变好了点,但是还是之前的版本比较流畅(丝滑)。

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


If you encounter this situation, you can check whether Thino synchronization is turned on

I only connected the synchronization function before, but stopped synchronization; I just updated Thino to the latest version and completely turned off synchronization. I feel that the lag is better, but it is still smoother (silky) than the previous version. .

whong1618 commented 7 months ago

我从 每日Thino页面,点击【返回首页】,需要等15秒左右,才能回到主页,这个速度有点慢啊……

你的 Thino 数量大约多少,以及其它可能和性能相关的信息,例如你的是否存在非常深的列表,或者日记文件非常多。

@Quorafind @juestchaos

我的 Thino 数量目前只有四十多,Thino 里有使用 Callout,有使用2层的列表,日记md文件8个。

一开始使用倒是没有感觉到多卡,随着记录的增加,感觉越来越卡。当我把所有的日记md文件移动到别处之后,Thino没有卡片了,这时候倒是感觉不怎么卡了。不过,没有笔记的 Thino,就算再顺畅,对用户来说也是没意义的。

【一个产品的设计和研发,要以用户实际的使用场景为起点,全力打造好核心功能,然后则完善其他】

【如果核心功能给客户带来的使用体验不佳,那么其他的额外的功能增添,并不能赢得用户的心】

作为卡片笔记 Thino 的核心就是卡片笔记的编辑和阅览、每日回顾、每日Thino、以及标签树结构呈现和笔记筛选等功能。

Thino 区别于其他类似卡片笔记产品的特点及优势就是作为Obsidian的插件,可以使用Markdown格式编辑卡片,是处于Obsidian的生态中,站在Obsidian的肩膀之上。

Thino的笔记数量必然会是与日俱增的,对用户来说,卡片笔记数量大概率会越来越多。

格式解析或者卡片数量有一定的影响,但绝不该由它们来背 Thino 越来越卡的锅,因为格式和数量是用户使用过程中必然需要的部分。

Thino界面设计逻辑存在问题、Thino的底层构建存在先天不足,也许才是卡顿的关键。

Thino 近来做了不少的功能增加,对于我这个喜欢 Thino的用户来说,是喜闻乐见的。 不过,如果因为底层构建存在不足,而导致用户在核心功能的体验上感觉不爽,那么对于Thino来说,我想不会是一件好事。

作为 Thino 的开发者当下应该重视核心功能和底层构建的优化和改善问题,越早把底层的地基打好、巩固好,越有利,否则“技术债”越到后期,越难还,最后底层的先天不足,会成为 Thino 未来的 『 不可承受之重』

【现在就 Thino 卡顿的问题,说说我的看法和建议,我不是技术专业人士,所表达的内容未必准确,仅供 Thino 开发人员参考】

【因为卡顿很影响体验,也浪费时间,而我又喜欢用 Thino,所以只好现在花时间多码写字,为的是把问题和建议表达清楚,好让开发人员尽快解决问题,这样我以后可以更顺畅地使用 Thino,减少未来使用Thino时因卡顿带来的时间浪费,希望开发人员耐心看完,并予之重视和完善】

【一】Thino 开启时,在主页会加载所有的Thino笔记数据,如果卡片数量很多,会很耗时,其实这个全部加载是很不经济的做法,建议使用『 动态加载技术】

(1) 笔记会与日俱增,对于用户来说,成百上千的Thino卡片笔记可能会是常态。

(2)目前Thino底层设计上,启动或者转到主页时,都会加载全部笔记数据,也就是会对所有相关文件进行读和载入,这样随着笔记数量的增加,肯定会越来越耗时

(3)不管是手机还是电脑,屏幕都是有限的,当前屏可以容纳的笔记数量也是很少的,所以从用户使用的角度来说,在打开主页时,一下子加载所有笔记,其实是没有必要的。

(4)既然屏幕是有限的,为什么不使用 『动态加载技术』,打开主页时,只需要加载可以占满屏幕的笔记内容,等用户滑动或者点击滚动条时,再动态的加载后续内容进行呈现,这样也许就可以彻底解决Thino的启动和运行速度的问题。不管笔记数量怎么增加,有了『动态加载技术』,启动主页时需要加载的笔记数量都是很少的一部分,这样运行速度就是最优化的。

(5) 由于使用的本地数据,不会受网络等因素影响,加上现在手机电脑的性能都很好,所以动态加载,给客户并不会带来延迟感,使用『动态加载技术』时,还可以考虑,针对当前屏幕,每次动态加载时,除了加载当前屏幕显示内容外,前后额外多加载一点内容,作为缓冲,这样用户滚动翻页的时候,会更丝滑。

(6) 对于成百上千的笔记,我们一般,不会在主页里,从头到尾浏览,一般都是通过【每日Thino】【随即回顾】【书签】【筛选】等选择部分笔记浏览,所以Thino当前主页全部加载数据的底层设计,是很不必要,也很不经济的,对运行速度是一种很大的瓶颈。

(7)不光是Thino 主页,凡是涉及界面的地方,比如【每日Thino】【筛洗展示】等页面,都应该考虑使用【动态加载技术】来优化Thino的运行效率,让用户使用Thino的体验更丝滑。

【二】 Thino 界面切换方面的设计存在问题。建议从主页切换到【每日回顾】、【每日Thino】、【归档】、【回收站】、【设置流程】【编辑器【全屏模式】时,原来的主页界面状态能在后台保留,而不是被干掉,这样可实现,当点击【返回首页】时,可以快速从后台恢复主页状态

【当前除了设置,因为是在主页之上启动页面,而不会干掉主页,所以关闭设置回到主页没有卡顿】

【但是其他页面,点击【返回首页】,因为界面切换设计存在缺陷,导致需要重建主页,而Thino的底层设计又存在重建主页时加载所有笔记数据的问题,所以卡顿在所难免】

用户在使用Thino时,必然会面对界面的切换。

目前测试,除了 【筛选】因为直接在主页进行展示,不会直接关闭主页,所以去除筛选,显示主页全部笔记内容的操作,感觉稍稍顺畅点外,其他包含【返回首页】按钮的页面,在点击后,返回主页的用时都比较长。

【其实原因不复杂】

(1)在进入【每日Thino】【回收站】【随机回顾】【归档】以及编辑窗口的【全屏】等时,目前Thino的界面切换设计逻辑 是,先干掉主页,然后打开对应界面。

(2)当从当前界面,点击【返回首页】,想回到主页时,因为之前主页被干掉了,没有缓存机制,所以得重建主页

(3)之前说过,Thino底层没有使用【动态加载技术】,所以,对应主页的重建,会重新加载全部笔记的,这样肯定耗时啊,和最开始启动Thino时构建主页的耗时几乎一样。

(4)没有【动态加载技术】,也没有缓冲复用之前的主页的机制,这就导致了,我每次从其他页面,点击【返回首页】,都会加载全部笔记数据,重建主页一次,就算是从编辑窗口的全屏模式退出来,都会加载全部数据重建主页一次,卡就是必然了啊,臣妾,好累啊!

(5) 当我在主页,滑动滚动条,浏览到某个卡片时,如果此时,我想去看看某一天的【每日Thino】,当我看完,想返回来时,点击【返回首页】,除了需要等待主页重建外,而且返回的主页后的屏幕,并不会恢复到我之前浏览到的位置,而是回到了当前最新的日记。这也是因为之前的主页被干掉,而后重建的原因。

(6)解决办法:当我从主页切换到【每日Thino】【随机回归】等时,如果当前的主页状态能够保留在后台,而不是被干掉,当我点击【返回首页】时,可以直接恢复之前的主页界面,那就解决问题了,而且还能保留我在主页浏览的位置。

【以上就是我对于改善Thino运行速度的两个建议】 (一) 【主页】等界面使用【动态加载技术】解决运行速度瓶颈,从此不会受限于Thino卡片笔记数量,任尔笔记千千万,我只管好当前屏,等你需要我再动,随心所欲任我行。

(二) 【界面切换时保留主页状态到后台,然后点击【返回首页】时,可以从后台快速恢复主页状态,而且还能保留主页当前浏览位置,不会做重建主页的无用功】

希望Thino开发者能重视,用心完善底层设计和界面转换设计,只有地基打好了,才能盖起高楼大厦。期待中……

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


I click [Return to Homepage] from the Daily Thino page, and it takes about 15 seconds to return to the homepage. This speed is a bit slow...

Approximate number of Thinos you have, and other information that may be related to performance, such as whether you have very deep lists or a lot of journal files.

@Quorafind @juestchaos

My number of Thinos is currently only over 40. Thino uses Callout, uses 2-layer lists, and has 8 diary md files.

I didn’t feel much lag when I started using it, but as the records increased, I felt more and more laggy. After I moved all the diary md files to other places, Thino had no cards, and now it didn’t feel so stuck. However, Thino without notes, no matter how smooth it is, is meaningless to users.

[The design and development of a product should start from the actual usage scenarios of users, strive to create core functions, and then improve other aspects]

[If the core functions bring poor user experience to customers, then adding other additional functions will not win the hearts of users]

As the core of card note-taking, Thino is the editing and reading of card notes, daily review, daily Thino, as well as functions such as tag tree structure presentation and note filtering.

The feature and advantage of Thino that distinguishes it from other similar card note-taking products is that as a plug-in for Obsidian, you can use Markdown format to edit cards. It is in the Obsidian ecosystem and stands on the shoulders of Obsidian.

The number of notes in Thino will inevitably increase day by day. For users, the number of card notes will most likely increase.

[Format analysis or the number of cards have a certain impact, but they should never be responsible for Thino’s increasing lag, because format and number are inevitable parts of the user’s use process. ]

There are problems with Thino's interface design logic and inherent deficiencies in Thino's underlying construction, which may be the key to the lag.

Thino has recently made a lot of feature additions, which is very welcome to me, a user who likes Thino. However, if users feel uncomfortable with the experience of core functions due to deficiencies in the underlying construction, then I think it will not be a good thing for Thino.

As a developer of Thino, you should now pay attention to the optimization and improvement of core functions and underlying construction. The earlier you lay and consolidate the underlying foundation, the more beneficial it will be. Otherwise, the "technical debt" will become more difficult to repay in the later stages. In the end, the underlying foundation will be Innate deficiencies will become an "unbearable burden" for Thino in the future.

[Now on the issue of Thino lagging, let me share my opinions and suggestions. I am not a technical professional, and the content expressed may not be accurate. It is for reference only by Thino developers]

[Because lag affects the experience and wastes time, and I like to use Thino, I have to spend time writing more code now in order to express the problems and suggestions clearly so that the developers can solve the problem as soon as possible, so that I can Use Thino more smoothly and reduce the time wastage caused by lag when using Thino in the future. I hope the developers will read it patiently and pay attention to and improve it]

[1] When Thino is turned on, all Thino note data will be loaded on the homepage. If there are many cards, it will be very time-consuming. In fact, loading all of them is very uneconomical. It is recommended to use "dynamic loading technology"

(1) Notes will increase day by day. For users, hundreds or thousands of Thino card notes may become the norm.

(2) Based on the current underlying design of Thino, all note data will be loaded when starting up or going to the homepage, that is, all related files will be read and loaded. This will definitely become more and more time-consuming as the number of notes increases.

(3) Whether it is a mobile phone or a computer, the screen is limited, and the number of notes that can be accommodated on the current screen is also very small. Therefore, from the user's perspective, loading all the notes at once when opening the homepage is actually useless. necessary.

(4) Since the screen is limited, why not use "dynamic loading technology"? When opening the homepage, you only need to load the note content that can fill the screen. When the user slides or clicks the scroll bar, the subsequent content is dynamically loaded for presentation. , this may completely solve the problem of Thino's startup and running speed. No matter how the number of notes increases, with "dynamic loading technology", the number of notes that need to be loaded when starting the homepage is only a small part, so the running speed is optimized.

(5) Since the local data used will not be affected by network and other factors, and the performance of mobile phones and computers is now very good, dynamic loading will not cause a sense of delay to customers. When using "dynamic loading technology", You can also consider that for the current screen, every time you load dynamically, in addition to loading the content displayed on the current screen, you can also load a little more content before and after as a buffer, so that when the user scrolls the page, it will be smoother.

(6) For hundreds or thousands of notes, we generally do not browse them from beginning to end on the homepage. We usually select some notes to browse through [Daily Thino], [Review Now], [Bookmarks], [Filter], etc. Therefore, the underlying design of Thino's current homepage to load all data is very unnecessary and uneconomical, and it is a big bottleneck for running speed.

(7) Not only the Thino homepage, but also wherever the interface is involved, such as [Daily Thino] [Screening Display] and other pages, you should consider using [dynamic loading technology] to optimize the operating efficiency of Thino and provide users with a better experience using Thino. Silkier.

[2] There are problems with the design of Thino interface switching. It is recommended that when switching from the home page to [Daily Review], [Daily Thino], [Archive], [Recycle Bin], [Setting Process] [Editor [Full Screen Mode]), the original home page interface status can be retained in the background, and Instead of being killed, this can be achieved. When you click [Return to Homepage], you can quickly restore the homepage status from the background.

[Currently, in addition to settings, because the page is launched on the homepage, it will not kill the homepage, so closing the settings and returning to the homepage will not cause lag]

[But for other pages, click [Return to Homepage]. Because the interface switching design is flawed, the homepage needs to be rebuilt, and the underlying design of Thino has the problem of loading all note data when rebuilding the homepage, so lag is inevitable]

When users use Thino, they will inevitably face interface switching.

In current testing, except for [Filter], which is displayed directly on the homepage and will not directly close the homepage, so the operation of removing the filter and displaying all note content on the homepage feels a little smoother, other pages containing the [Return to Homepage] button can be clicked Afterwards, it takes a long time to return to the homepage.

[In fact, the reason is not complicated]

(1) When entering [Daily Thino] [Recycle Bin] [Random Review] [Archive] and [Full Screen] of the editing window, etc., the current interface switching design logic of Thino is to first kill the homepage and then open the corresponding interface.

(2) When you click [Return to Homepage] from the current interface and want to return to the homepage, because the previous homepage was deleted and there is no caching mechanism, the homepage must be rebuilt.

(3) As mentioned before, the bottom layer of Thino does not use [dynamic loading technology], so all notes will be reloaded corresponding to the reconstruction of the homepage. This must be time-consuming, and it is almost the same as the time-consuming to build the homepage when starting Thino. .

(4) There is no [dynamic loading technology], and there is no mechanism for buffering and reusing the previous homepage. This results in that every time I click [Return to Homepage] from other pages, all the note data will be loaded and the homepage will be rebuilt once. When you exit from the full-screen mode of the editing window, all the data will be loaded and the homepage will be rebuilt once. Stuttering is inevitable. Concubine, I am so tired!

(5) When I slide the scroll bar and browse to a certain card on the homepage, if at this time, I want to see the [Daily Thino] of a certain day, when I finish reading and want to go back, click [Return] Homepage], in addition to having to wait for the homepage to be rebuilt, the screen after returning to the homepage will not be restored to the position I browsed before, but will return to the latest diary. This is also because the previous homepage was destroyed and then rebuilt.

(6) Solution: When I switch from the homepage to [Daily Thino] [Random Return], etc., if the current homepage state can be retained in the background instead of being killed, when I click [Return to Homepage], I can directly Replying to the previous homepage interface will solve the problem and keep my browsing position on the homepage.

[The above are my two suggestions for improving the running speed of Thino] (1) [Homepage] and other interfaces use [Dynamic Loading Technology] to solve the bottleneck of running speed. From now on, you will not be limited by the number of notes on Thino cards. You can take tens of thousands of notes. I will only take care of the current screen and wait until you need me to move again. Let me do as I please.

(2) [Keep the homepage status in the background when the interface is switched, and then click [Return to Homepage], you can quickly restore the homepage status from the background, and also retain the current browsing position of the homepage, without the useless effort of rebuilding the homepage]

I hope Thino developers will pay attention and carefully improve the underlying design and interface conversion design. Only when the foundation is laid can high-rise buildings be built. Expect……

Quorafind commented 7 months ago

我从 每日Thino页面,点击【返回首页】,需要等15秒左右,才能回到主页,这个速度有点慢啊……

你的 Thino 数量大约多少,以及其它可能和性能相关的信息,例如你的是否存在非常深的列表,或者日记文件非常多。

@Quorafind @juestchaos

我的 Thino 数量目前只有四十多,Thino 里有使用 Callout,有使用2层的列表,日记md文件8个。

一开始使用倒是没有感觉到多卡,随着记录的增加,感觉越来越卡。当我把所有的日记md文件移动到别处之后,Thino没有卡片了,这时候倒是感觉不怎么卡了。不过,没有笔记的 Thino,就算再顺畅,对用户来说也是没意义的。

【一个产品的设计和研发,要以用户实际的使用场景为起点,全力打造好核心功能,然后则完善其他】

【如果核心功能给客户带来的使用体验不佳,那么其他的额外的功能增添,并不能赢得用户的心】

作为卡片笔记 Thino 的核心就是卡片笔记的编辑和阅览、每日回顾、每日Thino、以及标签树结构呈现和笔记筛选等功能。

Thino 区别于其他类似卡片笔记产品的特点及优势就是作为Obsidian的插件,可以使用Markdown格式编辑卡片,是处于Obsidian的生态中,站在Obsidian的肩膀之上。

Thino的笔记数量必然会是与日俱增的,对用户来说,卡片笔记数量大概率会越来越多。

格式解析或者卡片数量有一定的影响,但绝不该由它们来背 Thino 越来越卡的锅,因为格式和数量是用户使用过程中必然需要的部分。

Thino界面设计逻辑存在问题、Thino的底层构建存在先天不足,也许才是卡顿的关键。

Thino 近来做了不少的功能增加,对于我这个喜欢 Thino的用户来说,是喜闻乐见的。 不过,如果因为底层构建存在不足,而导致用户在核心功能的体验上感觉不爽,那么对于Thino来说,我想不会是一件好事。

作为 Thino 的开发者当下应该重视核心功能和底层构建的优化和改善问题,越早把底层的地基打好、巩固好,越有利,否则“技术债”越到后期,越难还,最后底层的先天不足,会成为 Thino 未来的 『 不可承受之重』

【现在就 Thino 卡顿的问题,说说我的看法和建议,我不是技术专业人士,所表达的内容未必准确,仅供 Thino 开发人员参考】

【因为卡顿很影响体验,也浪费时间,而我又喜欢用 Thino,所以只好现在花时间多码写字,为的是把问题和建议表达清楚,好让开发人员尽快解决问题,这样我以后可以更顺畅地使用 Thino,减少未来使用Thino时因卡顿带来的时间浪费,希望开发人员耐心看完,并予之重视和完善】

【一】Thino 开启时,在主页会加载所有的Thino笔记数据,如果卡片数量很多,会很耗时,其实这个全部加载是很不经济的做法,建议使用『 动态加载技术】

(1) 笔记会与日俱增,对于用户来说,成百上千的Thino卡片笔记可能会是常态。

(2)目前Thino底层设计上,启动或者转到主页时,都会加载全部笔记数据,也就是会对所有相关文件进行读和载入,这样随着笔记数量的增加,肯定会越来越耗时

(3)不管是手机还是电脑,屏幕都是有限的,当前屏可以容纳的笔记数量也是很少的,所以从用户使用的角度来说,在打开主页时,一下子加载所有笔记,其实是没有必要的。

(4)既然屏幕是有限的,为什么不使用 『动态加载技术』,打开主页时,只需要加载可以占满屏幕的笔记内容,等用户滑动或者点击滚动条时,再动态的加载后续内容进行呈现,这样也许就可以彻底解决Thino的启动和运行速度的问题。不管笔记数量怎么增加,有了『动态加载技术』,启动主页时需要加载的笔记数量都是很少的一部分,这样运行速度就是最优化的。

(5) 由于使用的本地数据,不会受网络等因素影响,加上现在手机电脑的性能都很好,所以动态加载,给客户并不会带来延迟感,使用『动态加载技术』时,还可以考虑,针对当前屏幕,每次动态加载时,除了加载当前屏幕显示内容外,前后额外多加载一点内容,作为缓冲,这样用户滚动翻页的时候,会更丝滑。

(6) 对于成百上千的笔记,我们一般,不会在主页里,从头到尾浏览,一般都是通过【每日Thino】【随即回顾】【书签】【筛选】等选择部分笔记浏览,所以Thino当前主页全部加载数据的底层设计,是很不必要,也很不经济的,对运行速度是一种很大的瓶颈。

(7)不光是Thino 主页,凡是涉及界面的地方,比如【每日Thino】【筛洗展示】等页面,都应该考虑使用【动态加载技术】来优化Thino的运行效率,让用户使用Thino的体验更丝滑。

【二】 Thino 界面切换方面的设计存在问题。建议从主页切换到【每日回顾】、【每日Thino】、【归档】、【回收站】、【设置流程】【编辑器【全屏模式】时,原来的主页界面状态能在后台保留,而不是被干掉,这样可实现,当点击【返回首页】时,可以快速从后台恢复主页状态

【当前除了设置,因为是在主页之上启动页面,而不会干掉主页,所以关闭设置回到主页没有卡顿】

【但是其他页面,点击【返回首页】,因为界面切换设计存在缺陷,导致需要重建主页,而Thino的底层设计又存在重建主页时加载所有笔记数据的问题,所以卡顿在所难免】

用户在使用Thino时,必然会面对界面的切换。

目前测试,除了 【筛选】因为直接在主页进行展示,不会直接关闭主页,所以去除筛选,显示主页全部笔记内容的操作,感觉稍稍顺畅点外,其他包含【返回首页】按钮的页面,在点击后,返回主页的用时都比较长。

【其实原因不复杂】

(1)在进入【每日Thino】【回收站】【随机回顾】【归档】以及编辑窗口的【全屏】等时,目前Thino的界面切换设计逻辑 是,先干掉主页,然后打开对应界面。

(2)当从当前界面,点击【返回首页】,想回到主页时,因为之前主页被干掉了,没有缓存机制,所以得重建主页

(3)之前说过,Thino底层没有使用【动态加载技术】,所以,对应主页的重建,会重新加载全部笔记的,这样肯定耗时啊,和最开始启动Thino时构建主页的耗时几乎一样。

(4)没有【动态加载技术】,也没有缓冲复用之前的主页的机制,这就导致了,我每次从其他页面,点击【返回首页】,都会加载全部笔记数据,重建主页一次,就算是从编辑窗口的全屏模式退出来,都会加载全部数据重建主页一次,卡就是必然了啊,臣妾,好累啊!

(5) 当我在主页,滑动滚动条,浏览到某个卡片时,如果此时,我想去看看某一天的【每日Thino】,当我看完,想返回来时,点击【返回首页】,除了需要等待主页重建外,而且返回的主页后的屏幕,并不会恢复到我之前浏览到的位置,而是回到了当前最新的日记。这也是因为之前的主页被干掉,而后重建的原因。

(6)解决办法:当我从主页切换到【每日Thino】【随机回归】等时,如果当前的主页状态能够保留在后台,而不是被干掉,当我点击【返回首页】时,可以直接回复之前的主页界面,那就解决问题了,而且还能保留我在主页浏览的位置。

【以上就是我对于改善Thino运行速度的两个建议】 (一) 【主页】等界面使用【动态加载技术】解决运行速度瓶颈,从此不会受限于Thino卡片笔记数量,任尔笔记千千万,我只管好当前屏,等你需要我再动,随心所欲任我行。

(二) 【界面切换时保留主页状态到后台,然后点击【返回首页】时,可以从后台快速回复主页状态,而且还能保留主页当前浏览位置,不会做重建主页的无用功】

希望Thino开发者能重视,用心完善底层设计和界面转换设计,只有地基打好了,才能盖起高楼大厦。期待中……

非常感谢您的评论,只不过我在 18000 个 thino 的压测库中测试过,新版本不管是返回还是首屏加载,一般不会超过 2s,可以看视频。尤其是针对你说的每日回顾回到首页的行为,一般来说不会超过1s;可能是某些插件或者某些笔记出现问题导致您的加载时间变长。

https://github.com/Quorafind/Obsidian-Thino/assets/13215013/194e98c3-acb0-45f1-968d-987fc67baff1

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


I click [Return to Home Page] from the Daily Thino page, and it takes about 15 seconds to return to the home page. This speed is a bit slow...

The approximate number of Thinos you have, and other information that may be related to performance, such as whether you have a very deep list or a large number of journal files.

@Quorafind @juestchaos

My number of Thinos is currently only over 40. Thino uses Callout, uses 2-layer lists, and has 8 diary md files.

I didn’t feel much lag when I started using it. As the number of records increased, I felt more and more laggy. After I moved all the diary md files to other places, Thino had no cards, and now it didn’t feel so stuck. However, Thino without notes, no matter how smooth it is, is meaningless to users.

[The design and development of a product should start from the actual usage scenarios of users, strive to create core functions, and then improve other aspects]

[If the core functions bring poor user experience to customers, then adding other additional functions will not win the hearts of users]

As a card note, the core of Thino is the editing and reading of card notes, daily review, daily Thino, tag tree structure presentation and note filtering.

The feature and advantage of Thino that distinguishes it from other similar card note-taking products is that as a plug-in for Obsidian, you can edit cards in Markdown format. It is in the Obsidian ecosystem and stands on the shoulders of Obsidian.

The number of notes in Thino will inevitably increase day by day. For users, the number of card notes will most likely increase.

[Format analysis or the number of cards have a certain impact, but they should never be responsible for Thino’s increasing lag, because format and number are inevitable parts of the user’s use process. ]

There are problems with the interface design logic of Thino and inherent deficiencies in the underlying construction of Thino, which may be the key to the lag.

Thino has recently made a lot of feature additions, which is very welcome to me, a user who likes Thino. However, if users feel uncomfortable with the experience of core functions due to deficiencies in the underlying construction, then I think it will not be a good thing for Thino.

As a developer of Thino, you should pay attention to the optimization and improvement of core functions and underlying construction. The earlier you lay and consolidate the foundation of the underlying layer, the more beneficial it will be. Otherwise, the "technical debt" will become more difficult to repay in the later stages. In the end, the underlying foundation will be The inherent shortcomings will become an "unbearable burden" for Thino in the future.

[Now on the issue of Thino lagging, let me share my opinions and suggestions. I am not a technical professional, and the content expressed may not be accurate. It is for reference only by Thino developers]

[Because lagging affects the experience and wastes time, and I like to use Thino, I have no choice but to spend time writing more code now in order to express the problems and suggestions clearly so that the developers can solve the problem as soon as possible, so that I can You can use Thino more smoothly and reduce the time wastage caused by lagging when using Thino in the future. I hope the developers will read it patiently and pay attention to and improve it]

[1] When Thino is turned on, all Thino note data will be loaded on the homepage. If there are a lot of cards, it will be very time-consuming. In fact, loading all of them is very uneconomical. It is recommended to use "dynamic loading technology"

(1) Notes will increase day by day. For users, hundreds or thousands of Thino card notes may become the norm.

(2) Based on the current underlying design of Thino, all note data will be loaded when starting up or going to the homepage, that is, all related files will be read and loaded. As the number of notes increases, it will definitely become more and more expensive. hour

(3) Whether it is a mobile phone or a computer, the screen is limited, and the number of notes that can be accommodated on the current screen is also very small. Therefore, from the user's perspective, loading all the notes at once when opening the homepage is actually unnecessary.

(4) Since the screen is limited, why not use "dynamic loading technology"? When opening the homepage, you only need to load the note content that can fill the screen, and then dynamically load the subsequent content when the user slides or clicks the scroll bar. Presented, this may completely solve the problem of Thino's startup and running speed. No matter how the number of notes increases, with "dynamic loading technology", the number of notes that need to be loaded when starting the homepage is only a small part, so the running speed is optimized.

(5) Since the local data used will not be affected by network and other factors, and the performance of mobile phones and computers is now very good, dynamic loading will not cause a sense of delay to customers. When using "dynamic loading technology" , you can also consider that for the current screen, every time you load dynamically, in addition to loading the content displayed on the current screen, a little more content is loaded before and after as a buffer, so that when the user scrolls the page, it will be smoother.

(6) For hundreds or thousands of notes, we generally do not browse them from beginning to end on the homepage. We usually browse through [Daily Thino] [Review Now] [Bookmark] [Filter] and other selected notes to browse. , so the underlying design of Thino’s current homepage to load all data is very unnecessary and uneconomical, and it is a big bottleneck for running speed.

(7) Not only the Thino homepage, but also any place involving the interface, such as [Daily Thino] [Screening Display] and other pages, you should consider using [dynamic loading technology] to optimize the operating efficiency of Thino and allow users to use Thino's The experience is smoother.

[2] There are problems with the design of Thino interface switching. It is recommended that when switching from the home page to [Daily Review], [Daily Thino], [Archive], [Recycle Bin], [Setting Process] [Editor [Full Screen Mode]), the original home page interface status can be retained in the background, and Instead of being killed, this can be achieved. When you click [Return to Homepage], you can quickly restore the homepage status from the background.

[Currently, in addition to settings, because the page is launched on the homepage, it will not kill the homepage, so closing the settings and returning to the homepage will not cause lag]

[But for other pages, click [Return to Home Page]. Because the interface switching design is flawed, the home page needs to be rebuilt, and the underlying design of Thino has the problem of loading all note data when rebuilding the home page, so lag is inevitable]

When users use Thino, they will inevitably face interface switching.

Currently tested, except for [Filter], which is displayed directly on the homepage and will not directly close the homepage, so the operation of removing the filter and displaying all the note content on the homepage feels a little smoother, other pages that contain the [Return to Homepage] button are in After clicking, it takes a long time to return to the home page.

[In fact, the reason is not complicated]

(1) When entering [Daily Thino] [Recycle Bin] [Random Review] [Archive] and [Full Screen] of the editing window, etc., the current interface switching design logic of Thino is to first kill the homepage and then open the corresponding interface.

(2) When you click [Return to Homepage] from the current interface and want to return to the homepage, because the previous homepage was deleted and there is no caching mechanism, the homepage must be rebuilt.

(3) As mentioned before, the bottom layer of Thino does not use [dynamic loading technology], so all notes will be reloaded corresponding to the reconstruction of the homepage. This must be time-consuming, and it is almost as time-consuming as building the homepage when initially starting Thino. Same.

(4) There is no [dynamic loading technology], and there is no mechanism for buffering and reusing the previous homepage. This results in that every time I click [Return to Homepage] from other pages, all the note data will be loaded and the homepage will be rebuilt once. Even if you exit from the full-screen mode of the editing window, all data will be loaded and the homepage will be rebuilt once. Stuttering is inevitable. Concubine, I am so tired!

(5) When I slide the scroll bar and browse to a certain card on the homepage, if at this time, I want to see the [Daily Thino] of a certain day, when I finish reading and want to return, click [ Return to the homepage], in addition to having to wait for the homepage to be rebuilt, the screen after returning to the homepage will not be restored to the location I browsed before, but will return to the latest diary. This is also because the previous homepage was destroyed and then rebuilt.

(6) Solution: When I switch from the homepage to [Daily Thino] [Random Return], etc., if the current homepage state can be retained in the background instead of being killed, when I click [Return to Homepage], it can Directly replying to the previous homepage interface will solve the problem and keep my browsing position on the homepage.

[The above are my two suggestions for improving the running speed of Thino] (1) [Homepage] and other interfaces use [dynamic loading technology] to solve the running speed bottleneck. From now on, you will not be limited by the number of notes on the Thino card, and you can take thousands of notes Wan, I just take care of the current screen and wait until you need me to move again. I can do whatever I want.

(2) [Keep the homepage status in the background when switching interfaces, and then click [Return to Homepage], you can quickly restore the homepage status from the background, and also retain the current browsing position of the homepage, without the useless effort of rebuilding the homepage]

I hope Thino developers will pay attention and carefully improve the underlying design and interface conversion design. Only when the foundation is laid can high-rise buildings be built. Expect……

Thank you very much for your comment, but I have tested it in the 18,000 thino stress test library. Whether the new version is returned or loaded on the first screen, it generally does not exceed 2s. You can watch the video. Especially for the daily review you mentioned, returning to the home page generally does not take more than 1 second; it may be that there is a problem with some plug-ins or some notes, causing your loading time to become longer.

https://github.com/Quorafind/Obsidian-Thino/assets/13215013/194e98c3-acb0-45f1-968d-987fc67baff1

whong1618 commented 7 months ago

我从 每日Thino页面,点击【返回首页】,需要等15秒左右,才能回到主页,这个速度有点慢啊……

你的 Thino 数量大约多少,以及其它可能和性能相关的信息,例如你的是否存在非常深的列表,或者日记文件非常多。

@Quorafind @juestchaos 我的 Thino 数量目前只有四十多,Thino 里有使用 Callout,有使用2层的列表,日记md文件8个。 一开始使用倒是没有感觉到多卡,随着记录的增加,感觉越来越卡。当我把所有的日记md文件移动到别处之后,Thino没有卡片了,这时候倒是感觉不怎么卡了。不过,没有笔记的 Thino,就算再顺畅,对用户来说也是没意义的。 【一个产品的设计和研发,要以用户实际的使用场景为起点,全力打造好核心功能,然后则完善其他】 【如果核心功能给客户带来的使用体验不佳,那么其他的额外的功能增添,并不能赢得用户的心】 作为卡片笔记 Thino 的核心就是卡片笔记的编辑和阅览、每日回顾、每日Thino、以及标签树结构呈现和笔记筛选等功能。 Thino 区别于其他类似卡片笔记产品的特点及优势就是作为Obsidian的插件,可以使用Markdown格式编辑卡片,是处于Obsidian的生态中,站在Obsidian的肩膀之上。 Thino的笔记数量必然会是与日俱增的,对用户来说,卡片笔记数量大概率会越来越多。 【格式解析或者卡片数量有一定的影响,但绝不该由它们来背 Thino 越来越卡的锅,因为格式和数量是用户使用过程中必然需要的部分。】 Thino界面设计逻辑存在问题、Thino的底层构建存在先天不足,也许才是卡顿的关键。 Thino 近来做了不少的功能增加,对于我这个喜欢 Thino的用户来说,是喜闻乐见的。 不过,如果因为底层构建存在不足,而导致用户在核心功能的体验上感觉不爽,那么对于Thino来说,我想不会是一件好事。 作为 Thino 的开发者当下应该重视核心功能和底层构建的优化和改善问题,越早把底层的地基打好、巩固好,越有利,否则“技术债”越到后期,越难还,最后底层的先天不足,会成为 Thino 未来的 『 不可承受之重』 【现在就 Thino 卡顿的问题,说说我的看法和建议,我不是技术专业人士,所表达的内容未必准确,仅供 Thino 开发人员参考】 【因为卡顿很影响体验,也浪费时间,而我又喜欢用 Thino,所以只好现在花时间多码写字,为的是把问题和建议表达清楚,好让开发人员尽快解决问题,这样我以后可以更顺畅地使用 Thino,减少未来使用Thino时因卡顿带来的时间浪费,希望开发人员耐心看完,并予之重视和完善】 【一】Thino 开启时,在主页会加载所有的Thino笔记数据,如果卡片数量很多,会很耗时,其实这个全部加载是很不经济的做法,建议使用『 动态加载技术】 (1) 笔记会与日俱增,对于用户来说,成百上千的Thino卡片笔记可能会是常态。 (2)目前Thino底层设计上,启动或者转到主页时,都会加载全部笔记数据,也就是会对所有相关文件进行读和载入,这样随着笔记数量的增加,肯定会越来越耗时 (3)不管是手机还是电脑,屏幕都是有限的,当前屏可以容纳的笔记数量也是很少的,所以从用户使用的角度来说,在打开主页时,一下子加载所有笔记,其实是没有必要的。 (4)既然屏幕是有限的,为什么不使用 『动态加载技术』,打开主页时,只需要加载可以占满屏幕的笔记内容,等用户滑动或者点击滚动条时,再动态的加载后续内容进行呈现,这样也许就可以彻底解决Thino的启动和运行速度的问题。不管笔记数量怎么增加,有了『动态加载技术』,启动主页时需要加载的笔记数量都是很少的一部分,这样运行速度就是最优化的。 (5) 由于使用的本地数据,不会受网络等因素影响,加上现在手机电脑的性能都很好,所以动态加载,给客户并不会带来延迟感,使用『动态加载技术』时,还可以考虑,针对当前屏幕,每次动态加载时,除了加载当前屏幕显示内容外,前后额外多加载一点内容,作为缓冲,这样用户滚动翻页的时候,会更丝滑。 (6) 对于成百上千的笔记,我们一般,不会在主页里,从头到尾浏览,一般都是通过【每日Thino】【随即回顾】【书签】【筛选】等选择部分笔记浏览,所以Thino当前主页全部加载数据的底层设计,是很不必要,也很不经济的,对运行速度是一种很大的瓶颈。 (7)不光是Thino 主页,凡是涉及界面的地方,比如【每日Thino】【筛洗展示】等页面,都应该考虑使用【动态加载技术】来优化Thino的运行效率,让用户使用Thino的体验更丝滑。 【二】 Thino 界面切换方面的设计存在问题。建议从主页切换到【每日回顾】、【每日Thino】、【归档】、【回收站】、【设置流程】【编辑器【全屏模式】时,原来的主页界面状态能在后台保留,而不是被干掉,这样可实现,当点击【返回首页】时,可以快速从后台恢复主页状态 【当前除了设置,因为是在主页之上启动页面,而不会干掉主页,所以关闭设置回到主页没有卡顿】 【但是其他页面,点击【返回首页】,因为界面切换设计存在缺陷,导致需要重建主页,而Thino的底层设计又存在重建主页时加载所有笔记数据的问题,所以卡顿在所难免】 用户在使用Thino时,必然会面对界面的切换。 目前测试,除了 【筛选】因为直接在主页进行展示,不会直接关闭主页,所以去除筛选,显示主页全部笔记内容的操作,感觉稍稍顺畅点外,其他包含【返回首页】按钮的页面,在点击后,返回主页的用时都比较长。 【其实原因不复杂】 (1)在进入【每日Thino】【回收站】【随机回顾】【归档】以及编辑窗口的【全屏】等时,目前Thino的界面切换设计逻辑 是,先干掉主页,然后打开对应界面。 (2)当从当前界面,点击【返回首页】,想回到主页时,因为之前主页被干掉了,没有缓存机制,所以得重建主页 (3)之前说过,Thino底层没有使用【动态加载技术】,所以,对应主页的重建,会重新加载全部笔记的,这样肯定耗时啊,和最开始启动Thino时构建主页的耗时几乎一样。 (4)没有【动态加载技术】,也没有缓冲复用之前的主页的机制,这就导致了,我每次从其他页面,点击【返回首页】,都会加载全部笔记数据,重建主页一次,就算是从编辑窗口的全屏模式退出来,都会加载全部数据重建主页一次,卡就是必然了啊,臣妾,好累啊! (5) 当我在主页,滑动滚动条,浏览到某个卡片时,如果此时,我想去看看某一天的【每日Thino】,当我看完,想返回来时,点击【返回首页】,除了需要等待主页重建外,而且返回的主页后的屏幕,并不会恢复到我之前浏览到的位置,而是回到了当前最新的日记。这也是因为之前的主页被干掉,而后重建的原因。 (6)解决办法:当我从主页切换到【每日Thino】【随机回归】等时,如果当前的主页状态能够保留在后台,而不是被干掉,当我点击【返回首页】时,可以直接回复之前的主页界面,那就解决问题了,而且还能保留我在主页浏览的位置。 【以上就是我对于改善Thino运行速度的两个建议】 (一) 【主页】等界面使用【动态加载技术】解决运行速度瓶颈,从此不会受限于Thino卡片笔记数量,任尔笔记千千万,我只管好当前屏,等你需要我再动,随心所欲任我行。 (二) 【界面切换时保留主页状态到后台,然后点击【返回首页】时,可以从后台快速回复主页状态,而且还能保留主页当前浏览位置,不会做重建主页的无用功】 希望Thino开发者能重视,用心完善底层设计和界面转换设计,只有地基打好了,才能盖起高楼大厦。期待中……

非常感谢您的评论,只不过我在 18000 个 thino 的压测库中测试过,新版本不管是返回还是首屏加载,一般不会超过 2s,可以看视频。尤其是针对你说的每日回顾回到首页的行为,一般来说不会超过1s;可能是某些插件或者某些笔记出现问题导致您的加载时间变长。

QQ.20240414142252.mp4

既然是作为Obsidian的插件存在,那么对于用户来说,每个人的Obsidian的插件启动状态可能都会不一样的;

既然是支持Markdown文件的,那么用户写Thino笔记时使用Markdown格式应该也是自由的。

我把目前所有的笔记全部放到一个markdown文件中,然后在Obsidian编辑器里打开也是很快的,秒开

你们的测试也许没有问题,但是到用户那里,可能就不好说了,因为你们测试的环境和用户实际的环境是存在差异的。

目前我认为Thino的运行速度瓶颈是在于: (1)主页会加载所有数据,如果能够随着屏幕,动态加载数据,那会快很多,也不会受限于笔记数量和格式,不管笔记数量多少,只需要加载屏幕需要的笔记,那就会很快了。

(2)界面切换时,如果主页状态能够保留在后台,那么恢复主页状态,就会快很多。

这两点技术上不能实现嘛?

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


From the Daily Thino page, I click [Return to Homepage] and it takes about 15 seconds to return to the homepage. This speed is a bit slow...

The approximate number of Thinos you have, and other information that may be related to performance, such as whether you have a very deep list or a large number of journal files.

@Quorafind @juestchaos My number of Thinos is currently only over 40. Thino uses Callout, uses 2-layer lists, and has 8 diary md files. I didn’t feel much lag when I started using it. As the number of records increased, I felt more and more laggy. After I moved all the diary md files to other places, Thino had no cards, and now it didn’t feel so stuck. However, Thino without notes, no matter how smooth it is, is meaningless to users. [The design and development of a product should start from the actual usage scenarios of users, strive to create core functions, and then improve other aspects] [If the core functions bring poor user experience to customers, then adding other additional functions will not win the hearts of users] As a card note, the core of Thino is the editing and reading of card notes, daily review, daily Thino, tag tree structure presentation and note filtering. The distinguishing feature and advantage of Thino from other similar card note-taking products is that as a plug-in for Obsidian, you can edit cards in Markdown format. It is in the Obsidian ecosystem and stands on the shoulders of Obsidian. The number of notes in Thino will inevitably increase day by day. For users, the number of card notes will most likely increase. [Format analysis or the number of cards have a certain impact, but they should never be responsible for Thino’s increasing lag, because format and number are inevitable parts of the user’s use process. ] There are problems with Thino's interface design logic and inherent deficiencies in Thino's underlying construction, which may be the key to the lag. Thino has recently made a lot of feature additions, which is very welcome to me, a user who likes Thino. However, if users feel uncomfortable with the experience of core functions due to deficiencies in the underlying construction, then I think it will not be a good thing for Thino. As developers of Thino, we should pay attention to the optimization and improvement of core functions and underlying construction. The earlier we lay and consolidate the underlying foundation, the more beneficial it will be. Otherwise, the "technical debt" will become more difficult to repay in the later stages. In the end, The inherent deficiencies at the bottom level will become an "unbearable burden" for Thino in the future. [Now on the issue of Thino lagging, let me share my opinions and suggestions. I am not a technical professional, and the content expressed may not be accurate. It is for reference only by Thino developers] [Because lag affects the experience and is a waste of time, and I like to use Thino, so I have to spend time writing more code now in order to express the problems and suggestions clearly so that the developers can solve the problem as soon as possible. In this way, I You can use Thino more smoothly in the future and reduce the time wastage caused by lagging when using Thino in the future. I hope the developers will read it patiently and pay attention to and improve it] [1] When Thino is turned on, all Thino note data will be loaded on the homepage. If there are many cards, it will be very time-consuming. In fact, loading all of them is very uneconomical. It is recommended to use "dynamic loading technology" (1) Notes will increase day by day. For users, hundreds or thousands of Thino card notes may become the norm. (2) Based on the current underlying design of Thino, all note data will be loaded when starting or going to the homepage, that is, all related files will be read and loaded. In this way, as the number of notes increases, the number of notes will definitely increase. time consuming (3) Whether it is a mobile phone or a computer, the screen is limited, and the number of notes that can be accommodated on the current screen is also very small. Therefore, from the user's perspective, when opening the homepage, all notes are loaded at once. In fact, It's not necessary. (4) Since the screen is limited, why not use "dynamic loading technology"? When opening the homepage, you only need to load the note content that can fill the screen, and then dynamically load the subsequent content when the user slides or clicks the scroll bar. Presented, this may completely solve the problem of Thino's startup and running speed. No matter how the number of notes increases, with "dynamic loading technology", the number of notes that need to be loaded when starting the homepage is only a small part, so the running speed is optimized. (5) Since the local data used will not be affected by network and other factors, and the performance of mobile phones and computers is now very good, dynamic loading will not cause a sense of delay to customers. Use "dynamic loading technology" At this time, you can also consider that for the current screen, every time you load dynamically, in addition to loading the content displayed on the current screen, you can also load a little more content before and after as a buffer, so that when the user scrolls the page, it will be smoother. (6) For hundreds or thousands of notes, we generally do not browse them from beginning to end on the homepage. We usually select some notes through [Daily Thino] [Review Instantly] [Bookmark] [Filter], etc. Browsing, so the underlying design of Thino’s current homepage to load all data is very unnecessary and uneconomical, and it is a big bottleneck for running speed. (7) Not only the Thino homepage, but also any place involving the interface, such as [Daily Thino] [Screening Display] and other pages, you should consider using [dynamic loading technology] to optimize the operating efficiency of Thino and allow users to use Thino The experience is smoother. [2] There are problems with the design of Thino interface switching. It is recommended that when switching from the home page to [Daily Review], [Daily Thino], [Archive], [Recycle Bin], [Setting Process] [Editor [Full Screen Mode]), the original home page interface status can be retained in the background, and Instead of being killed, this can be achieved. When you click [Return to Homepage], you can quickly restore the homepage status from the background. [Currently, in addition to settings, because the page is launched on the home page, it will not kill the home page, so closing the settings and returning to the home page will not cause lag] [But for other pages, click [Return to Home Page]. Because the interface switching design is flawed, the home page needs to be rebuilt, and the underlying design of Thino has the problem of loading all note data when rebuilding the home page, so lag is inevitable] When users use Thino, they will inevitably face interface switching. Current testing, except [Filter], which is displayed directly on the homepage and will not directly close the homepage, so the operation of removing the filter and displaying all note content on the homepage feels a little smoother, other pages that contain the [Return to Homepage] button, After clicking, it takes a long time to return to the home page. [In fact, the reason is not complicated] (1) When entering [Daily Thino] [Recycle Bin] [Random Review] [Archive] and [Full Screen] of the editing window, etc., the current interface switching design logic of Thino is to first kill the homepage and then open the corresponding interface. . (2) When you click [Return to Homepage] from the current interface and want to return to the homepage, because the previous homepage was deleted and there is no caching mechanism, the homepage must be rebuilt. (3) As mentioned before, the bottom layer of Thino does not use [dynamic loading technology], so corresponding to the reconstruction of the homepage, all notes will be reloaded. This will definitely be time-consuming, and it will be time-consuming to build the homepage when initially starting Thino. Almost the same. (4) There is no [dynamic loading technology], and there is no mechanism for buffering and reusing the previous homepage. This results in that every time I click [Return to Homepage] from other pages, all note data will be loaded and the homepage will be rebuilt. , even if you exit from the full-screen mode of the editing window, all the data will be loaded and the homepage will be rebuilt once. Stuttering is inevitable. Concubine, I am so tired! (5) When I slide the scroll bar and browse to a certain card on the homepage, if at this time, I want to see the [Daily Thino] of a certain day, when I finish reading and want to return, click [Return to the homepage], in addition to having to wait for the homepage to be rebuilt, the screen after returning to the homepage will not be restored to the location I browsed before, but will return to the latest diary. This is also because the previous homepage was destroyed and then rebuilt. (6) Solution: When I switch from the homepage to [Daily Thino] [Random Return], etc., if the current homepage state can be retained in the background instead of being killed, when I click [Return to Homepage], I can directly reply to the previous homepage interface, which will solve the problem and keep my browsing position on the homepage. [The above are my two suggestions for improving the running speed of Thino] (1) [Homepage] and other interfaces use [dynamic loading technology] to solve the running speed bottleneck. From now on, you will not be limited by the number of Thino card notes, and you can take thousands of notes Ten million, I will just take care of the current screen and wait until you need me to move again. I can do whatever I want. (2) [Keep the homepage status in the background when the interface is switched, and then click [Return to Homepage], you can quickly restore the homepage status from the background, and also retain the current browsing position of the homepage, without the useless effort of rebuilding the homepage] I hope that Thino developers will pay attention and carefully improve the underlying design and interface conversion design. Only when the foundation is laid can high-rise buildings be built. Expect……

Thank you very much for your comment, but I have tested it in 18,000 thino stress test libraries. Whether the new version is returned or loaded on the first screen, it generally does not exceed 2s. You can watch the video. Especially for the daily review you mentioned, returning to the home page generally does not take more than 1 second; it may be that there is a problem with some plug-ins or some notes, causing your loading time to become longer.

QQ.20240414142252.mp4

Since it exists as a plug-in for Obsidian, for users, the startup status of each Obsidian plug-in may be different;

Since Markdown files are supported, users should be free to use Markdown format when writing Thino notes.

I put all my current notes into a markdown file, and then opening it in the Obsidian editor is very fast. It opens in seconds.

There may be no problem in your test, but it may be difficult to tell when it comes to users, because there are differences between the environment you test and the actual environment of users.

At present, I think the bottleneck of Thino’s running speed is: (1) The homepage will load all data. If it can dynamically load data along with the screen, it will be much faster and will not be limited by the number and format of notes. No matter the number of notes, only the notes required by the screen will be loaded. It will be soon.

(2) When the interface is switched, if the homepage state can be retained in the background, then restoring the homepage state will be much faster.

Are these two points technically impossible to achieve?

Quorafind commented 7 months ago

@whong1618

也很感谢您的建议,但是

  1. 如果您仔细观察会发现加载是一次加载四十条,所以理论上并不是元素加载导致你的卡顿。否则我这里的 18000 条全部加载哪怕是 Obsidian 也吃不消。
  2. 正常来说,你每日视图切换回去首页是不会触发数据的重新获取的(目前会导致数据重新获取的有 1.重开 Thino. 2. 主动点击顶部的刷新按钮),而且 Thino 为了保证用户没有卡顿的中断感,会保留至少跳转前的 80 条数据缓存,不管何时都会先渲染除非数据发生了整体变更

所以可能我们还是得聚焦在很可能导致整体卡顿的可能性上

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


@whong1618

Thank you very much for your suggestions, but

  1. If you observe carefully, you will find that the loading is loading forty items at a time, so in theory it is not the loading of elements that causes your lag. Otherwise, even Obsidian would be unable to load all the 18,000 items I have here.
  2. Normally, switching your daily view back to the home page will not trigger the re-acquisition of data (currently, the things that will cause the data to be re-acquired are 1. Restarting Thino. 2. Actively clicking the refresh button at the top), and Thino is in order to To ensure that users do not feel stuck and interrupted, at least 80 data caches before the jump will be retained, and will be rendered first at any time unless the data has changed overall.

So maybe we still have to focus on the possibility that is likely to cause overall lag.

Quorafind commented 7 months ago

@whong1618 您方便的话可以按照这个步骤来提供对应的函数调用截图,这样我可以一目了然知道具体是哪个函数花费了最多的时间:

43e1aa7ca36d2f2021cf4902de21a6a

whong1618 commented 7 months ago

@whong1618 您方便的话可以按照这个步骤来提供对应的函数调用截图,这样我可以一目了然知道具体是哪个函数花费了最多的时间:

43e1aa7ca36d2f2021cf4902de21a6a

我按图示的步骤操作了,截图如下: Thino性能测试

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


@whong1618 If it is convenient for you, you can follow this step to provide the corresponding function call screenshots, so that I can know at a glance which function takes the most time:

! [43E1AA7CA36D2F2021CF4902DE21A6A] (https://private- user-images.githubusercontent.com/13215013/32225427-71b4-A1E0-9877-9877 188FDDC81.png? JWT = Eyjhbgcioijiu1niisinr5CCI6IKPXVCJ9.EYJPC3MIOJNAXRODWIUY29TIIWIYXVKijoicmf3LMDPDGH1YNVZXJJJW50LMNVSI SIMTLESI6IMTLETLETLETLCJLEHAIOJE3MTMWODI0MJISIM5izii6MTCXMZA4MJEYMIWI TATOTG3MTG4ZMRKYZLNBUzz9yluftei1BBGDVCML09QVDTNC1ITUFDLVNI YNDA0MTQLMKZ1LYXN0LTELMKZZMYRMF3CZRFCMVXDWVZDCZYLUFTEI1EYX RLPTIWMJQWNDE0VDG0MLOMWC1BXHWAXJLCZMDAMWC1BXOTU2LNBM F0DXJLPTNKNZJI3ZGVJNGQZZZZZJQ5ZJQ4YJI2OGY0NWE1ZMZJNGNMNDGY MMNKZJNZHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHY 0JMFJDG9YX2LKPTAMA2V5X2LKPTAMCMVWB19PZD0IN0WIN0.OFSMPPPHAU4TFJ8P9OCBT25TVBFXLTDBP90VD8MH47i))))))

I followed the steps shown in the picture, and the screenshot is as follows: Thino performance test

Quorafind commented 7 months ago

@whong1618 您方便的话可以按照这个步骤来提供对应的函数调用截图,这样我可以一目了然知道具体是哪个函数花费了最多的时间:

43e1aa7ca36d2f2021cf4902de21a6a

我按图示的步骤操作了,截图如下: Thino性能测试

非常感谢,如果您能点击一下那一个 11970ms 的步骤的蓝色部分就更好了,或者展开一下它,我可以观察它的具体问题

whong1618 commented 7 months ago

@whong1618 您方便的话可以按照这个步骤来提供对应的函数调用截图,这样我可以一目了然知道具体是哪个函数花费了最多的时间: 43e1aa7ca36d2f2021cf4902de21a6a

我按图示的步骤操作了,截图如下: Thino性能测试

非常感谢,如果您能点击一下那一个 11970ms 的步骤的蓝色部分就更好了,或者展开一下它,我可以观察它的具体问题

@Quorafind 重新测试性能,并截了图,看看是你想要的嘛?

我Obsidian里的所有笔记数量是大于 Thino里相关笔记数量的

我在Obsidian里通过标签搜索,可以很快渲染好格式,并展示结果。

但当我在Thino里搜索同样的标签的时候,检索到内容,然后渲染呈现的速度就会慢很多。

Thino确实有待优化提速啊。

Obsidian对于使用相同格式,而且数量还更多的笔记检索后渲染格式、呈现结果的速度为什么会比Thino快很多,这就说明Thino还有很大的提升空间。

Thino性能测试01

Thino性能测试02

Thino性能测试04

Thino性能测试03

Morganwan90 commented 7 months ago

我也感觉thino似乎拖慢了整个Obsidian的速度,当我启动了thino插件的情况下(尽管thino主页没有打开),我在其他的文档切换时,property需要耗费约1.5s的时间才能显示出来,当我关闭thino后,文档间切换明显顺畅了很多。

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


I also feel that thino seems to slow down the entire Obsidian. When I start the thino plug-in (although the thino homepage is not open), when I switch other documents, it takes about 1.5 seconds for the property to be displayed. When I turned off thino, switching between documents became much smoother.

wopanda commented 7 months ago

最新版本(2.4.24)更新之后,流畅很多了!恢复到了之前的丝滑!

Issues-translate-bot commented 7 months ago

Bot detected the issue body's language is not English, translate it automatically...


After the latest version (2.4.24) is updated, it is much smoother! Back to its previous silky smoothness!