Jump to content

Need testers for speed-up ideas


xnappo
 Share

Recommended Posts

My movie collection is 1780 movies.

 

Just gave it a go average from 10 runs,

average all movies time is around 5.6 seconds,

average fast movies time is around 3.1 seconds

Link to comment
Share on other sites

the "before" numbers that i'm seeing here are not really that high so i'm wondering how much of a problem this actually is. maybe the new reductions i have will be good enough so that you don't need whatever hack is being done here.

Link to comment
Share on other sites

I never thought it was slow, but just for comparison, loading all movies in MBT average load time is 2.4 seconds.

Link to comment
Share on other sites

Yeah, MBT can do things we can't in XBMC - but I am working on it as you can see :D

 

@@Luke - thanks - that will help a lot once available.

 

xnappo

Link to comment
Share on other sites

Just pushed a new version to the beta repo with improved Fast Movies 1 & 2.   Please test again.

 

xnappo

Link to comment
Share on other sites

Hi @@xnappo - I noticed the new beta release with the experimental speed improvements included. As yet I cannot test it..due to GTA5 on Xbox One hogging my attention and TV...but would it be possible to position the temporary "fast movies" and "fast movies 2" at the bottom of the collection so as not to alter with the current positioning of the standard movie items?

 

Currently for example Recently Added Movies are located at: 

xbmb3c.std.movies.1 - Recently Added Movies

But with the new change (and I know it is temporary this moves to position 3.

 

If you put these at the bottom:

 # EXPERIMENTAL	
+    collections.append({'title':'Fast ' + __language__(30170), 'sectype' : 'std.movies', 'section' : 'movies'  , 'address' : MB_server , 'path' : '/mediabrowser/Users/' + userid + '/Items?&SortBy=SortName&Recursive=true&SortOrder=Ascending&IncludeItemTypes=Movie&IsFast=true&format=json' ,'thumb':'', 'poster':'', 'fanart_image':'', 'guiid':''})
+    collections.append({'title':"Fast All Movies 2"                 , 'sectype' : 'std.movies', 'section' : 'fastmovies'  , 'address' : 'FastMovies', 'path': 'FastMovies', 'thumb':'', 'poster':'', 'fanart_image':'', 'guiid':''})
+    # /EXPERIMENTAL

Then no impact will be made on the skins that use these positions.

Link to comment
Share on other sites

Ok, so average on 1788 movies for 10 runs.

 

All movies is average 4.6 seconds (1 second faster than previous version)

Fast movies is average 2.4 seconds

Fast movies 2 is average .5 seconds, though it only shows a folder labeled missing, and im not sure about the .5 second time, its almost instant.

Link to comment
Share on other sites

yea honestly, you want to find ways to improve all of the views rather than doing something like this. so hopefully Fast Movies is just an experiment. 

 

I mean think about the usability aspect and waf seeing Movies and Fast Movies menu options. that's why i'm suggesting to stop and wait for the next dev server and then go from there. 

 

maybe we can reach a point where it's good enough and you don't have to pursue this anymore.

Link to comment
Share on other sites

That is with the new beta?  Something wrong with Fast Movies 2 then - can you post a log?

 

Make sure you restarted XBMC.

Edited by xnappo
Link to comment
Share on other sites

Ya Version 0.9.724

 

Weird I had restarted it before hand, did it again and now its working.

 

All movies - 4.6

fast movies - 3.2

fast movies 2 - 2.2

  • Like 1
Link to comment
Share on other sites

Sorry - I didn't think of that Ian - just pushed another with them moved to the end.

 

This is purely an experiment to understand JSON parsing vs. server time.  Much more work will be needed to implement a real speedup - but the server change is not going to solve the whole problem - it is needed in conjunction with 'Fast Movies 1' otherwise there will be no images :)

 

There are not many views where there are more than 100 results - so I don't *completely* agree with your statement @@Luke - but '1' is more of a general solution than '2' for sure.

 

Chris

Edited by xnappo
  • Like 1
Link to comment
Share on other sites

the "before" numbers that i'm seeing here are not really that high so i'm wondering how much of a problem this actually is. maybe the new reductions i have will be good enough so that you don't need whatever hack is being done here.

Keep in mind we are dealing with a fast machine.  AND his XBMC database number would have been less than a second.  Making good progress though - if we background load the unimportant data, and don't always provide it from the server on every query we will be set.

 

xnappo

Edited by xnappo
  • Like 1
Link to comment
Share on other sites

the "before" numbers that i'm seeing here are not really that high so i'm wondering how much of a problem this actually is. maybe the new reductions i have will be good enough so that you don't need whatever hack is being done here.

 

It's definitely worthwhile coming from an XBMC-MySQL user. Virtually every skin and every view state resulted in loading 1500 movies in less than 1s (about how many movies I had before I ditched the SQL server)

 

Keep in mind we are dealing with a fast machine.  AND his XBMC database number would have been less than a second.  Making good progress though - if we background load the unimportant data, and don't always provide it from the server on every query we will be set.

 

xnappo

 

This is very true as well, the numbers over wifi are usually double for MB3 but were usually 1s for MySQL

 

Just pushed a new version to the beta repo with improved Fast Movies 1 & 2.   Please test again.

 

xnappo

 

Okay, got some testing time in (library at 1723 movies today)

 

Intel x64 OpenELEC 13.2 wired w/ your Nox skin

  • All Movies           ~ 4.5s
  • Fast All Movies   ~ 2.6s
  • Fast All Movies 2~ 1.3s

rMBP Helix x64 Beta 5 wireless-AC w/ Titan

  • All Movies           ~ 8.7s
  • Fast All Movies   ~ 5.8s
  • Fast All Movies 2~ 1.6s  (ARE YOU KIDDING ME!!!)

 

Something else that I noticed was that using the view "Info Wall" (which I really like in Nox4) doesn't ever seem to display "Plots" for anything, and when changing the "All Movies" view to "Info Wall" confirmed that behavior inside the add-on (in addition to the main menu entry). However, when loading "Fast All Movies" and "Fast All Movies 2" the Nox4 "Info Wall" view gets all of the Plots populated  :D

Edited by dark_slayer
Link to comment
Share on other sites

If the speed up idea needs >2GB ram (what I have in OE) that will be problematic as I'm sure it's somewhat targeted towards the RPi which unfortunately has less than 1GB ram

Edited by dark_slayer
Link to comment
Share on other sites

Went over to server and it had applied an update. After a restart, my issues above went away

 

So, looks like false alarm sorry (edited with strikethrough)

Link to comment
Share on other sites

Hi All,

 

I am working on some ideas to speed up things for large collections/slow machines.

 

I have two methods of doing this I have been prototyping. One is easier to implement and will only get full improvements with a server change from @@Luke. The second is more difficult, but should be quite fast. Some things like sorting will be very difficult with the second, however.

 

I would like some users with large collections to give these a shot an let me know the speed-up from 'All Movies' to 'Fast Movies' and then 'Fast Movies 2'. I am out of town, and testing over the internet isn't really working well.

 

To try it out, replace the files in the attached zip in your plugin.video.xbmb3c/resources/lib folder, then into Video->Addons-MediaBrowser and go to the above nodes.

 

Thanks,

xnappo

Link to comment
Share on other sites

Count me in I have over a 2000+ collection classed my adult, children, foreign and movies .

2 Android kit kat dedicated to xbmc, and 2 win7. I have always being concern of the slow pace of android when it comes to in/out load of movies class which is over 1000+.

Let me know if my profile fits your needs and steps or guidelines for the testing purposes

Cheers

Eni

Link to comment
Share on other sites

Sure, just load up the latest beta and test 'All Movies' vs. 'Fast Movies' vs. 'Fast Movies 2'.  You get to these through 'Video Addons'->MediaBrowser.    The new ones are at the bottom.

 

A note: 'Fast Movies 2' does not work in a way that is extendable to multiple collections.  My goal is to get Fast Movies and Fast Movies 2 close enough to one another to not need 2.  Changes @@Luke is working on with the server will be needed to test that though.

 

In case you are interested - here is the technical difference:

 

All Movies - when you select this, the AddOn send a query for all the data for all the movies - this is a ton of info with studios, multiple artwork links etc etc.  This has to be parsed and added to the XBMC list using tons of JSON parsing.

 

Fast Movies - still pulls down all the data - this is the bit Luke is working on - having a reduced dataset call available to the server.  However much of the JSON parsing has already been done by a background thread and added to an in-RAM database.

 

Fast Movies 2 - doesn't pull down any data.  The entire list has already been built in the background, and we just display it.  But this has a lot of problem with supporting multiple end-points, sorting, watched status, deleting etc etc.

 

xnappo

Link to comment
Share on other sites

Sure, just load up the latest beta and test 'All Movies' vs. 'Fast Movies' vs. 'Fast Movies 2'.  You get to these through 'Video Addons'->MediaBrowser.    The new ones are at the bottom.

 

A note: 'Fast Movies 2' does not work in a way that is extendable to multiple collections.  My goal is to get Fast Movies and Fast Movies 2 close enough to one another to not need 2.  Changes @@Luke is working on with the server will be needed to test that though.

 

In case you are interested - here is the technical difference:

 

All Movies - when you select this, the AddOn send a query for all the data for all the movies - this is a ton of info with studios, multiple artwork links etc etc.  This has to be parsed and added to the XBMC list using tons of JSON parsing.

 

Fast Movies - still pulls down all the data - this is the bit Luke is working on - having a reduced dataset call available to the server.  However much of the JSON parsing has already been done by a background thread and added to an in-RAM database.

 

Fast Movies 2 - doesn't pull down any data.  The entire list has already been built in the background, and we just display it.  But this has a lot of problem with supporting multiple end-points, sorting, watched status, deleting etc etc.

 

xnappo

OK I will give a try when I get home tonight and provide a feedback, technical terms sounds like a rocket science, what is jason a person's name :huh:     wondering how to translate this to accounting and financial terms which I am fluent with   Debit/Credit

:D I shall keep you posted 

Cheers

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...