-
Notifications
You must be signed in to change notification settings - Fork 231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
开启“自动换行”时打开大文件速度非常慢。 #957
Comments
Commit bbe02d6 optimized HTML highlighting. |
不是html引起的。即使是txt文件也是一样的。 |
@zufuliu 此问题有进展吗? |
No. |
我也跟踪过代码,它是在自动换行切换时,运行到 Editor.cxx 中的代码:
接着,再进行消息WM_PAINT的过程中变得无响应的。它在进行界面刷新进行了大量的运算,我猜这些运算应该是可以优化的。 |
Scintilla 5.3.4 added multithreaded word wrap (useful for large file with many short lines) but is still not adopted for Notepad4 (needs to figure out when multithreaded is benefit, https://sourceforge.net/p/scintilla/feature-requests/1481/). |
多线程换行还是会卡顿,这个在n++中已经测试过了。 |
@zufuliu 我今天找到一些线索,切换自动换行时(从关闭切换到打开自动换行),此时CPU占用率会变高几秒钟,在此期间可以使用鼠标点击和滚动界面,都能流畅定位光标,这很好。但是,如果马上按键盘上的方向键(从文件尾,按上方向键),则整个编辑器会立即失去响应,直到前面说的CPU占用率下降后,光标位置才能得到响应。这一现象在np4,np++中都得到了一样的测试结果:这充分说明它是scintilla组件的性能问题。 经测试,修改 Editor.cxx 的代码,可以解决上述提到的问题。
但它不能完全解决此主题中的问题:在打开自动换行的时候,打开文件之后,立即按Ctrl+End,还是会卡住。 |
在关闭“自动换行”时,打开一个大文件非常快,且可以在语法高亮渲染未完成时将光标定位到文件尾(按组合键Ctrl+End)。
在开启“自动换行”后,打开大文件非常慢,且语法高亮渲染会一直卡住,直到语法高亮渲染完成后,才能进行编辑操作(例如按组合键Ctrl+End没有响应,需要等很久才能响应操作)。
测试方法:
打开或关闭“自动换行”后,再打开一个大文件(我测试了200MB的html文件),马上按组合键Ctrl+End。
The text was updated successfully, but these errors were encountered: