Hi all,<br><br>Ok, was kind of sick of this waiting time so I've rebuild amarok 1.4.8 with only few changes on <b>contextbrowser.cpp</b> :<br><br>- line 1141 to 1143, uncomment :<br>        if( b->currentPage() != b->m_contextTab )<br>
             return;<br><br>- line 1231 & 1240, comment out the #if #endif thing, now looks like :<br>//#if 0<br>    if( BrowserBar::instance()->currentBrowser() != this )<br>    {<br>        debug() << "current browser is not context, aborting showCurrentTrack()" << endl;<br>
        m_dirtyCurrentTrackPage = true;<br>        m_currentTrackPage->set( QString( "<html><body><div class='box-body'>%1</div></body></html>" )<br>                                 .arg( i18n( "Updating..." ) ) );<br>
        return;<br>    }<br>//#endif<br><br>I don't know why this feature were disabled because it's exactly what i needed <:o)<br>Now when I change or rate a song, There is NO hanging time at all, at least when the contextView isn't shown<br>
And that makes the whole thing much much more usable here !<br><br>Thanks for this great program<br>Simon<br><br><br><br><div class="gmail_quote">On Jan 31, 2008 1:14 PM, Simon ESNEAULT <<a href="mailto:simon.esneault@gmail.com">simon.esneault@gmail.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br><br>Moodbar is disabled, so it can't be the "hanging" source.<br><br>It definitely is a database query pb, happening when the context view is redraw (when the method showArtistsAlbums() is called). I've noticied that this method is also invoked when the collection vertical tab is selected, and when I change track or rate a song, But, if i had previously selected the wikipedia on context view, and then switch to collection tab, and then play next track, everything goes straight on, no waiting time ... (and in the debug output, showArtistsAlbums() isn't called at all)<br>

I think somehow, the method is called even if it's not needed. Maybe it will be better, if it's only called when needed but don't know where to find this on the source code !<br><br>Well best thing to do : wait for Amarok 2 :o)<br>

Thanks<div><div></div><div class="Wj3C7c"><br><br><br><div class="gmail_quote">On Jan 31, 2008 3:19 AM, Marc Michaud <<a href="mailto:markaud@gmail.com" target="_blank">markaud@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hi,<br><br>I think that the cpu hang may be caused by the moodbar "script" that<br>compute the moodbar for the actual song: try to disable it in the<br>configuration dialog and see what happen.<br><br>Salut cousin francais!<br>

Marc<br><br>Simon ESNEAULT a écrit :<br><div><div></div><div>> Hello,<br>><br>> First of all, i want to say a big thanks to everyone doing here a<br>> great job, amarok is for sure the best player i've ever used, making<br>

> me rediscover music !<br>><br>> Here is my configuration:<br>> Amarok 1.4.8 on ubuntu 7.10 (not kubuntu, but all kdelibs are installed)<br>> Mysql, 35 000 songs<br>> Computer is : Athlon XP 2000+, 1.5Go RAM<br>

><br>> Everytime the song change, amarok hangs and use 100 % of the CPU for<br>> quite a long time. I wanted to check if anything wasn't going the<br>> right way, so I've build amarok from the source, with full debug options.<br>

> Below is the output on a song change. The bold lines are problematic,<br>> i think it's the refresh of the context viewer. When the player is on<br>> wikipedia tab, changing a song is very smooth and doesn't slow the<br>

> whole system for some seconds. (but no need to refresh the context<br>> view, probably the key). The same problem show up when I rate a song,<br>> causing the context view to refresh<br>> Strange thing is that showArtistsAlbums() method seems to be called 2<br>

> times. But when the player is on wikipedia tab and switch to the<br>> "normal" tab, it's only called once, making the "hang" time twice shorter<br>><br>> For the context viewer, The size of the cover is changed to 300 pix,<br>

> use score and rating, and of course LastFm, but only render similar<br>> artist box.<br>> Have i done something unusual ? Is my computer definitely out of date<br>> ? Will it change anything if I run a complete kde session instead of a<br>

> gnome session ? Why ? Is khtmlrender thing the main problem ? If it<br>> is, I hope plasma context view won't be so heavy !<br>><br>> amarok: BEGIN: void EngineController::play(const MetaBundle&, uint)<br>

> amarok:   [controller] Loading URL:<br>> file:///home/simon/Musique/-%3DAlbums%3D-/-%3D%20D%20%3D-/Deerhoof/2004%20-%20Covers%20and%20Live%20EP/06%20-%20Lose%20My%20Breath%20(My%20Bloody%20Valentine%20Cover).mp3<br>

> amarok: BEGIN: virtual bool XineEngine::load(const KURL&, bool)<br>> amarok:     [xine-engine] Before xine_open() *****<br>> amarok:     [xine-engine] After xine_open() *****<br>> amarok:     [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled<br>

> amarok: END__: virtual bool XineEngine::load(const KURL&, bool) - Took<br>> 0.2s<br>> amarok: BEGIN: virtual bool XineEngine::play(uint)<br>> amarok: BEGIN: void EngineSubject::stateChangedNotify(Engine::State)<br>

> amarok:       [virtual void<br>> Amarok::StatusBar::engineStateChanged(Engine::State, Engine::State)]<br>> Line: 153<br>> amarok: BEGIN: virtual void<br>> ContextBrowser::engineStateChanged(Engine::State, Engine::State)<br>

> amarok: END__: virtual void<br>> ContextBrowser::engineStateChanged(Engine::State, Engine::State) -<br>> Took 0.00021s<br>> amarok: END__: void EngineSubject::stateChangedNotify(Engine::State) -<br>> Took 0.0076s<br>

> amarok: END__: virtual bool XineEngine::play(uint) - Took 0.008s<br>> amarok: BEGIN: void EngineSubject::newMetaDataNotify(const<br>> MetaBundle&, bool)<br>> amarok:     [Moodbar] Resetting moodbar:<br>
> /home/simon/Musique/-=Albums=-/-= D =-/Deerhoof/2004 - Covers and Live<br>
> EP/06 - Lose My Breath (My Bloody Valentine Cover).mp3<br>> amarok:     [ContextBrowser] [CUEFILE]:<br>> /home/simon/Musique/-=Albums=-/-= D =-/Deerhoof/2004 - Covers and Live<br>> EP/06 - Lose My Breath (My Bloody Valentine Cover).cue - Shoot blindly<br>

> and missed, searching for other cue files.<br>> amarok:     [ContextBrowser] [CUEFILE]: - Didn't find any matching cue<br>> file.<br>> amarok: BEGIN: virtual void ThreadManager::Thread::run()<br>> amarok:       [Moodbar] Resetting moodbar:<br>

> amarok: END__: void EngineSubject::newMetaDataNotify(const<br>> MetaBundle&, bool) - Took 0.39s<br>> amarok: END__: void EngineController::play(const MetaBundle&, uint) -<br>> Took 0.6s<br>> amarok:   [ScriptManager] [ERROR!] Copy Cover:<br>

> amarok: [AmaroK CopyCover Script] Received notification:<br>> engineStateChange: playing<br>> amarok:   [xine-engine] XINE_PARAM_EARLY_FINISHED_EVENT enabled<br>> amarok:   [xine-engine] Metadata received.<br>

> amarok:   [ScriptManager] [ERROR!] Copy Cover:<br>> amarok: [AmaroK CopyCover Script] Received notification: trackChange<br>> amarok: BEGIN: void CurrentTrackJob::*showArtistsAlbums*(const<br>> QString&, uint, uint)<br>

> amarok: END__: void CurrentTrackJob::showArtistsAlbums(const QString&,<br>> uint, uint) - Took 1.3s*<br>> amarok: END__: virtual void ThreadManager::Thread::run() - Took 3s<br>> *amarok: [ThreadManager] Job completed: CurrentTrackJob. Jobs pending: 1<br>

> amarok: BEGIN: virtual void ThreadManager::Thread::run()<br>> amarok: BEGIN: void CurrentTrackJob::*showArtistsAlbums*(const<br>> QString&, uint, uint)<br>> amarok: END__: void CurrentTrackJob::showArtistsAlbums(const QString&,<br>

> uint, uint) - Took 1.2s*<br>> amarok: END__: virtual void ThreadManager::Thread::run() - Took 5.6s*<br>> amarok:   [ThreadManager] Job completed: CurrentTrackJob. Jobs pending: 0<br>><br>><br>> I'll appreciate any comment on this :o)<br>

><br>> Thanks and sorry for my frenglish !<br>> Bye<br>><br>><br>> ------------------------------------------------------------------<br>> Simon Esneault<br>> Laboratoire Traitement du Signal et de l'Image, (LTSI, UMR-INSERM 642)<br>

> Université de Rennes I, Campus de Beaulieu,<br>> 35042 Rennes Cedex, France.<br>> Tel : +33 (0)6 64 61 30 94<br>> Mail : <a href="mailto:simon.esneault@univ-rennes1.fr" target="_blank">simon.esneault@univ-rennes1.fr</a><br>

</div></div>> <mailto:<a href="mailto:simon.esneault@univ-rennes1.fr" target="_blank">simon.esneault@univ-rennes1.fr</a>><br>> ------------------------------------------------------------------<br>> ------------------------------------------------------------------------<br>

<div><div></div><div>><br>> _______________________________________________<br>> Amarok mailing list<br>> <a href="mailto:Amarok@kde.org" target="_blank">Amarok@kde.org</a><br>> <a href="https://mail.kde.org/mailman/listinfo/amarok" target="_blank">https://mail.kde.org/mailman/listinfo/amarok</a><br>

><br><br>_______________________________________________<br>Amarok mailing list<br><a href="mailto:Amarok@kde.org" target="_blank">Amarok@kde.org</a><br><a href="https://mail.kde.org/mailman/listinfo/amarok" target="_blank">https://mail.kde.org/mailman/listinfo/amarok</a><br>

</div></div></blockquote></div><br><br clear="all"><br></div></div>-- <div class="Ih2E3d"><br>------------------------------------------------------------------<br>Simon Esneault<br>Laboratoire Traitement du Signal et de l'Image, (LTSI, UMR-INSERM 642)<br>

Université de Rennes I, Campus de Beaulieu, <br>35042 Rennes Cedex, France.<br>Tel : +33 (0)6 64 61 30 94<br>Mail : <a href="mailto:simon.esneault@univ-rennes1.fr" target="_blank">simon.esneault@univ-rennes1.fr</a><br></div>
------------------------------------------------------------------
</blockquote></div><br><br clear="all"><br>-- <br>------------------------------------------------------------------<br>Simon Esneault<br>Laboratoire Traitement du Signal et de l'Image, (LTSI, UMR-INSERM 642)<br>Université de Rennes I, Campus de Beaulieu, <br>
35042 Rennes Cedex, France.<br>Tel : +33 (0)6 64 61 30 94<br>Mail : <a href="mailto:simon.esneault@univ-rennes1.fr">simon.esneault@univ-rennes1.fr</a><br>------------------------------------------------------------------