Latest post of the previous page:
Поэтому и интересует его влияние, он то все эти EE_CHANGE будет получать и обрабатывать.Медленный редактор
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: Медленный редактор
Ну значит и оптимизировать можем элементарно по тому же принципу, не?t-rex wrote:Не шаманством, а просто тупо потому что вызов с -1 "быстрей" чем EditorId ибо не приходится искать окно (имплементация конечно кривая, но что есть пока что).
Тоже самое как раньше было с -1 для текущей строки в редакторе.
Плагинописателя, в идеальном мире, не должны волновать особенности имплементации.
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Re: Медленный редактор
можем конечно, здесь принцым другой только, надо unordered_map редакторов деражать.
но просто мне кажется это не особо важная тема, тем более что так уже хрен знает сколько лет и реальных проблем нету.
Тут считай проблема появилась тупо потому что я в примере написал EditorId (чтоб намекнуть чтоб подписывать можно на любой редактор) вместо -1.
но просто мне кажется это не особо важная тема, тем более что так уже хрен знает сколько лет и реальных проблем нету.
Тут считай проблема появилась тупо потому что я в примере написал EditorId (чтоб намекнуть чтоб подписывать можно на любой редактор) вместо -1.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: Медленный редактор
При массовой Замене в редакторе (с использовании штатной функции CtrlF7) событие EE_CHANGE приходит после каждой замены.
Если использовать RESearch, то событие будет приходить один раз на строку.
(Показателен крайний случай: замена "." на "$0")
Особого смысла получать несколько EE_CHANGE на строку нет, и даже в теории быть не может, т.к. в обработчик приходит только номер строки и всё.
Плюс, не исключено, что замена строки целиком может быть несколько эффективнее с точки зрения производительности.
Если использовать RESearch, то событие будет приходить один раз на строку.
(Показателен крайний случай: замена "." на "$0")
Особого смысла получать несколько EE_CHANGE на строку нет, и даже в теории быть не может, т.к. в обработчик приходит только номер строки и всё.
Плюс, не исключено, что замена строки целиком может быть несколько эффективнее с точки зрения производительности.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: Медленный редактор
В буфере целая строка.
Вставляю в самое начало редактора, ловлю EE_CHANGE 4 раза (StringNumber,Type):Разве недостаточно одного ECTYPE_ADDED?
При удалении строки получаю EE_CHANGE как и ожидается, всего 1 раз (1 ECTYPE_DELETED)
Если вставляю 4 строки, то всё усложняется: .
Проверялось в фаре с единственным плагином LuaMacro.
Вставляю в самое начало редактора, ловлю EE_CHANGE 4 раза (StringNumber,Type):
Code: Select all
1 ECTYPE_CHANGED
2 ECTYPE_ADDED
1 ECTYPE_CHANGED
2 ECTYPE_CHANGED
При удалении строки получаю EE_CHANGE как и ожидается, всего 1 раз (1 ECTYPE_DELETED)
Если вставляю 4 строки, то всё усложняется: .
Проверялось в фаре с единственным плагином LuaMacro.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Медленный редактор
присылайте патч, закоммитим, чё.John Doe wrote:Разве недостаточно одного ECTYPE_ADDED?
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: Медленный редактор
К сожалению патчем не помогу.
Мой пост имел своей целью выяснить, правильно ли текущее поведение.
Раз нет, то открою тикет на мантисе.
Мой пост имел своей целью выяснить, правильно ли текущее поведение.
Раз нет, то открою тикет на мантисе.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Медленный редактор
не надо. оно так и задумано. это обсуждалось, когда добавляли EE_CHANGE. либо так, либо никак. роман выбрал так.John Doe wrote:Мой пост имел своей целью выяснить, правильно ли текущее поведение.
Раз нет, то открою тикет на мантисе.