Closed Bug 343535 Opened 18 years ago Closed 2 years ago

Cocoa textfields (with spellchecking) are very slow

Categories

(Core :: Spelling checker, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

()

RESOLVED INACTIVE

People

(Reporter: hwaara, Unassigned)

References

()

Details

(Keywords: perf)

(Tested on Camino trunk.)

The spellchecking (in Camino and Cocoafox) has a serious problem keeping up when there's a larger amount of text in a textfield.

Doing an undo (just for removing a word), I had the spinning beachball for about 10 secs on my iMac G5.

For a simple testcase:

1) Go to review a (~8K suffices) patch
2) Edit the patch as comment

Every word of code is spellchecked, and the textfield is very slow to scroll.

Not sure what code is doing this, but I think it's a quite serious perf bug we'll have to deal with, especially when Cocoafox goes live.
Real-world testcase:  Go to the attached URL in this bug, and click "Edit Attachment as Comment". 
Flags: blocking1.9a1?
Please retest and renominate; a lot of perf work went into spellcheck since this.
Flags: blocking1.9a1?
Cocoa is using osxspell, not myspell, which should not be a ridealong of switching to cocoa. I think we should change the ifdef here to be camino only:

http://lxr.mozilla.org/mozilla/source/extensions/spellcheck/Makefile.in#47
Flags: blocking1.9?
the ifdef was only there for carbon firefox. camino already uses osxspell. i'm confused.
Yes, that's my point: CocoaFox should not be using osxspell, at least without further discussion: it would make our current cross-platform dictionaries useless.
i thought that was the point ;) why ship a dictionary if the OS provides one?
I'm not saying it's a bad idea. I'm saying it may be a bad idea, and it shouldn't be a side-effect of cocoa. Let's get performance numbers from cocoafox + myspell to see if osxspell is really at fault here.
You should use the already present OS X dictionaries.
Can anyone reproduce this?  
Using the OSX dictionary instead of ours has more issues:

If you use a localized build in a language that is not your OS language, you don't get your dictionary for one. As in, now I understand why my minefield spell checker is broken, it tries to make me write German in bugzilla :-).

On another note, we switched from myspell to hunspell for linguistic reasons. I haven't found any technical documentation on the linguistic capabilities of the native OSX dictionaries so far, so for some languages, hunspell might just perform better from a language point of view.

So I totally agree with Benjamin that whether we use osxspell or hunspell shouldn't be a widget decision.
-'ing.  Please renom if necessary.  Actually, I couldn't reproduce this on trunk for some reason. 
Flags: blocking1.9? → blocking1.9-
Assignee: mscott → nobody
both Camino and Cocoafox are dead
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.