2010-12-16 3 views
1

Я использую Scintilla с помощью .NET-оболочки с именем Scintilla.NET. При создании экземпляра его, то есть:Сцинтилляционная медленная загрузка

Dim c As New ScintillaNet.Scintilla 
    Me.Controls.Add(c) 

Для загрузки в первый раз требуется почти полная секунда. В других случаях это около 150 мс. На самом деле, это не очень приемлемо в моей ситуации, например, при загрузке. 10 файлов сразу занимают почти две секунды.

Верно ли, что Scintilla (или Scintilla.NET) работает медленно, или я делаю что-то неправильно?

+0

Я не знакомы с Scintilla, но возможно, что на самом деле невозможно открыть 10 файлов сразу, так как они, вероятно, не будут видны все одновременно (я думаю, что там есть интерфейс с вкладками)? , но загрузите каждый из них при необходимости (т.е. когда активная вкладка изменится на ту, которая представляет этот документ). Это то, что я сделал недавно в одном из моих приложений, и пришел к очень плавному интерфейсу, который лениво загружает свои данные. Разумеется, предоставление индикатора «загрузки» также уменьшает воспринимаемое время, даже если фактические ms одинаковы или даже больше. – 2010-12-16 17:31:15

+0

Это действительно редактор с вкладками. Я не очень увлекаюсь тем, что вы называете ленивой загрузкой, но, возможно, это интересное решение, так как вы распространяете время загрузки на более длительный период, а не на две секунды одновременно. – pimvdb 2010-12-16 18:01:16

ответ

1

Я бы не сказал, что Сцинтилла медленно. Если медленнее только в первый раз, когда вы создаете элемент управления, это может быть связано с загрузкой файла Scintilla.dll, и 1 секунда, которую вы испытываете, может быть временем, которое требуется системе для загрузки DLL.

Если это так, я предлагаю вам загрузить DLL (путем создания фиктивного элемента управления) при запуске приложения (например, на экране заставки) - если это приемлемо в вашем сценарии.