Transcribe screen freezes on Safari

ento's Avatar

ento

20 Aug, 2009 04:28 AM via

When I click on the 'transcribe' link, Safari freezes for several minutes, taking up 100% of the CPU time. The video and the transcription log stays blank while it's frozen and after it comes alive, I can start to transcribe. The video I'm transcribing is:

I'm using

  • Safari 4.0.3
  • Mac OS X 10.4.11
  • MacBook 2.16 GHz Intel Core 2 Duo
  • 2 GB RAM

When I try opening it with Firefox 3.0.10, it detects the page is unresponsive and gives me this alert:

Warning: Unresponsive script ... Script: http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js...

Any help appreciated.

  1. Support Staff 2 Posted by brooks on 20 Aug, 2009 01:34 PM

    brooks's Avatar

    Odd I have the exact same Mac book here (with 4 Gigs of RAM)

    Do you have a lot of applications running? That warning shows when the browser has taken too long to finishing running javascript.

    Thanks,

    Brooks L.
    dotSUB.com

  2. 3 Posted by ento on 22 Aug, 2009 07:30 AM

    ento's Avatar

    I tried restarting the mac and opened the problematic page but no improvement.

    Also, I have another video with no transcription yet and there is almost no noticeable lag when opening the transcription page.


    Back at home, I have another mac:

    • Mac OS X 10.5.8
    • MacBook Pro
    • 2.53 GHz Core 2 Duo
    • 4 GB RAM

    and when I try the problematic page with

    • Firefox 3.5.2: no noticeable lag
    • Safari 4.0.3: freezes for several minutes

    So as a workaround, I can use Firefox to transcribe videos at the moment. I'll try upgrading the copy of Firefox I have at work.

    However, I'd like to use Safari just like any other activity I do on the web so I tried investigating a little further:

    I turned on the profiler on Safari and got the following result.

    • the most heavy function was appendChild (self: 3.0min total:3.0min average:118.5ms calls:1539)
    • which is apparently called from: transcribeVideo.js::drawCaptionsTable > the line after createRowFromCaption

    If I may do a naive interpretation, perhaps it could speed up a bit by creating the entire transcription list on-memory and slapping it on to the actual DOM tree once it is complete?

    (In order to profile the initialization script, I created a small script that hooks the onload event with console.profile() and sets a timeout for console.profileEnd() and activated it by using GreaseKit.)

  3. Support Staff 4 Posted by brooks on 24 Aug, 2009 01:03 PM

    brooks's Avatar

    Thanks Ento,

    I am aware that the page loads slowly when there is already a large transcript. Sadly I inherited this page from another developer and the table that displays the transcription is derived at load time (this should be generated server side. )

    I will be fixing this very soon,

    Cheers,
    Brooks L.
    dotSUB.com

  4. brooks closed this discussion on 24 Aug, 2009 01:03 PM.

Comments are currently closed for this discussion. You can start a new one.