Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#9386 closed defect (cantreproduce)

Momentary hesitation in text entry when other person sends message while you are typing

Reported by: Sunspark Owned by: nobody
Milestone: Adium 1.3 Component: Adium Core
Version: Severity: normal
Keywords: Cc:
Patch Status:


This is 100% reproducible for me.

While someone is typing, hold down your key for the repeating character.. when their message arrives, notice how the repeating character gets interrupted for a second..

I feel that the incoming message should be on it's own thread so it does not interfere with personal typing. While brief, it is noticable, and offputting.

Change History (6)

comment:1 Changed 12 years ago by David Smith

I suspect this is due to writing the logs out. A way to test that would be to copy a huge file, then run this test while it's copying.

comment:2 Changed 12 years ago by apasechnik

I get the same problem. There is a pause when I get an incoming message. The problem persists even when logging is turned off.

comment:3 Changed 12 years ago by Peter Hosey

Here's a Shark sample of Adium trunk@r22989.

WebKit dominates, as one might expect. Second in the sample is -PNGRepresentation, which we call for Growl; we could save 8% of the CPU usage by caching that result for each contact who has a chat open.

comment:4 Changed 12 years ago by Jordan

Milestone: Adium X 1.2.x

comment:5 Changed 12 years ago by Jordan

Milestone: Adium X 1.2.xAdium X 1.3
Resolution: worksforme
Status: newclosed

As Catfish_Man guessed, I also believe this to be due to logging because after Evan's change in [23171] this hesitation is gone for me.

comment:6 Changed 12 years ago by Evan Schoenberg

I imagine this is a multifactorial problem, with ties to every subsystem touched when a message is received. 1.3svn has a number of improvements in this regard... it's probably safe to marked this as fixed one way or another. I think boredzo's optimization above would be a good move, as well :)

Note: See TracTickets for help on using tickets.