Author Topic: Multithreaded and GPU-accelerated 'Search' function  (Read 113831 times)

VX

  • Guest
This topic is inspired by a bug report: http://getmusicbee.com/forum/index.php?topic=10005.0
Hardware acceleration seems a perfect solution for possible slow down when 'Search' function is used with some scenarios.
 
It could be useful for Tags, Artwork and Lyrics retrieval as well.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
i have made the sorting function (which is the main bottleneck for the main panel) multi-threaded so it now sorts approximately twice as fast (unless you have a computer with just one CPU). Also sorting on a Virtual Tag field will now be a little bit faster.
But i expect the improvements will only be noticeable for people with large collections.
I will make it available later after some more testing

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
this has the speed improvements for main panel file sorting, text search, track browser filtering, and also sorting in the library explorer.
It only activates if your computer has more than 2 CPUs.
You should keep a copy of your current musicbee.exe in cases there is an unexpected problem, although i have tested it and it should be ok.

http://musicbee.niblseed.com/V2_2/MusicBee_Exe_Patched.zip

Zak

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 2450
Checking this new version now and it looks great.

I've never had any speed issues searching 50,000+ tracks, but the reduced time to display all tracks after clearing a previous selection is another huge improvement.

Also much faster to scroll through artwork views...
Last Edit: July 15, 2013, 07:40:01 AM by Zak
Bee excellent to each other...

Bee-liever

  • Member
  • Sr. Member
  • *****
  • Posts: 3831
  • MB Version: 3.6.8849 P
have MB set to start playing after restart and I often leave a search open in Library Explorer when closing
MB noticeably faster now
MusicBee and my library - Making bee-utiful music together

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
one extra thing i have done for the next update is made the Artwork layout rendering multi-threaded. I think it makes a bit of an improvement.
I will make the update available in the next day or two

ma_t14

  • Sr. Member
  • ****
  • Posts: 2493
one extra thing i have done for the next update is made the Artwork layout rendering multi-threaded. I think it makes a bit of an improvement.
I will make the update available in the next day or two

Is this included in the build that is currently available?

Zak

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 2450
one extra thing i have done for the next update is made the Artwork layout rendering multi-threaded. I think it makes a bit of an improvement.
I will make the update available in the next day or two

Is this included in the build that is currently available?

Steven hasn't posted a new build since making that post, but I think the improvements in the most recent build shows an improvement in rendering artwork views.
Bee excellent to each other...

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
i will post a link later but i dont think the improvement is that great -  at least on my machine. It might be better for others


ma_t14

  • Sr. Member
  • ****
  • Posts: 2493
i will post a link later but i dont think the improvement is that great -  at least on my machine. It might be better for others

Same here, the improvement is not that noticable. I wonder if there is a way to pre-render artwork that is not visible in the main panel. Maybe 2-3 rows of artwork above the visible content being pre-rendered. That would improve scrolling soo much imo
.
Last Edit: July 23, 2013, 10:07:33 PM by ma_t14

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
i dont think the artwork rendering or scrolling is slow or problematic and not something i plan to give priority on. The change was a simple one to make and would defiitely benefit when grouping by artist with stacked album pictures. Also it will be more noticeable for anyone who has a lot of small pictures on a large screen

ma_t14

  • Sr. Member
  • ****
  • Posts: 2493
Scrolling is not bad but it's not perfect either  ::)

There is noticeable flickr that increases the faster your scroll.

Anyway, it was just an idea for the future maybe, if it's feasible or not very difficult to implement
Last Edit: July 23, 2013, 10:13:40 PM by ma_t14

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
to get rid of the flicker would require a different approach but as mentioned i would rather not spend time on this.
However here is a slightly experimental version (i have tested it) that should be more responsive to scrolling - i think it reduces the flickering as well but not sure about that
http://musicbee.niblseed.com/V2_2/MusicBee_Exe_Patched.zip

ma_t14

  • Sr. Member
  • ****
  • Posts: 2493
to get rid of the flicker would require a different approach but as mentioned i would rather not spend time on this.
However here is a slightly experimental version (i have tested it) that should be more responsive to scrolling - i think it reduces the flickering as well but not sure about that
http://musicbee.niblseed.com/V2_2/MusicBee_Exe_Patched.zip

I don't notice much of a difference tbh Scrolling seems more responsive in this version but flicker remains the same. But there is an unwanted behaviour introduced with one of the latest builds, one scroll does not equal one line of artwork. The very last artworks are cut off in this version/ not fully visible.

Anyway, I am glad you know what approach would be required to correct the flicker. That gives me hope that you will implement it somewhere in the future  :)
Last Edit: July 23, 2013, 11:29:13 PM by ma_t14