Loading an EditField with rtf is very slow

Just a quick update on this. We found that the built-in Xojo RegEx class is extremely slow. Something in the neighborhood of 80ms for every search and some of the test files that people have been giving us have proven that this is THE bottleneck when reading RTF. In other words, the larger the file the worse it gets.

We will be switching over to using the MBS RegEx class which in our initial test showed was 4000 times faster than the Xojo RegEx class.

Because some developer do not like using plugins we will most likely have a compiler constant that end users can turn on and off in their projects. Hopefully that will satisfy everyone.

thanks for all the hard work put into tracking down the performance bug. Those types of bugs are hard to find.

thanks
sb

Finding it wasn’t that hard but finding the time to fix it is.

Bob,

Regarding your demos, I see that they are not true WYSIWYG. They apear on screen very small compared to what you get when you open the same document in WordPad or Microsoft Word, or printing it. Even then view menu in all your demos is allways disabled, so I can not appreciate what happens increasing or decreasing the size of the document.

Trying to solve my problem, as it is explained in the title of this thread, I created an ActiveX OCX using Delphi containig only a simple text box and two properties: WriteText and ReadText. Testing it with VB6, it works correctly as expected. Using this OCX in RealStudio 2012r2 or Xojo2013r33 does not work at all, beginnig with that the properties are not recognized, as I described in another post (https://forum.xojo.com/7358-activex-trouble-setting-properties), This leaves me to say that the ActiveX compatibilty explained in the commercial documentation of Xojo does not tell the truth. It will be more honest to tell that not all the ActiveX controls (or many of them) could be used with Xojo.

Loading a TextArea RTFData is not only slow, it is INCREDIBLY slow. I used the example StyledText.xojo_binary_project and modified it to save and load RTF. Then I proceeded to load and save different versions of the Princess of Mars of different sizes. Results are gross :

Size          time to load              load rate
3031         0 sec                     
8309          6                               1384 bytes/sec
15084        29                              520 bytes/sec
29778        239                            124 bytes/sec

The bigger the file, the slower the load rate. I could not measure anything bigger than 40K, it took forever and I had to force quit.

I was expecting load time to increase proportionally to the file size, not exponentially. This is unusable :frowning: