notepad-plus-plus / notepad-plus-plus/notepad-plus-plus

Notepad++ starts to lag with very long lines

Open
#5,267 14 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

scintilla dependent
Dominant language
C++
Stars
29.4k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

Description of the Issue

When current screen with a text contains 8-12 lines with a length of each line more than 64K the application start to lag on navigation, the cursor becomes slow.

Steps to Reproduce the Issue
  1. Create the new text file, fill it with text lines of standard lengths (80-120 character), in the amount of 100-200 lines for free navigation.
  2. Now, create long lines with length more than 64K, it can be easily created by selecting a whole line and pressing multiple times Ctrl+D, until required length is achieved. Remove the selection and duplicate the long line ten times using the same hotkey Ctrl+D.
Expected Behavior

Navigation using cursor should be very fast as usually.

Actual Behavior

Navigation using cursor becomes very slow.

Debug Information

Notepad++ v7.5.1 (64-bit)
Build time : Aug 29 2017 - 02:38:44
Path : C:\Program Files\Notepad++\notepad++.exe
Admin mode : OFF
Local Conf mode : OFF
OS : Windows 7 (64-bit)
Plugins : AutoSave.dll mimeTools.dll NppConverter.dll nppcrypt.dll PluginManager.dll

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the lag with the described file containing 8–12 lines longer than 64K, using Ctrl+D to create and duplicate them. Profile cursor navigation while comparing normal-length and very long lines, then verify that navigation remains responsive in the reported scenario without regressing ordinary text movement.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.