Posts: 2,087
Joined: Jun 2007
Reputation:
92
djh_
Aeon Project Founder
Posts: 2,087
If I switched from visibility conditions to conditional includes wherever possible, would it improve efficiency or performance? I'm not particularly up on how XBMC handles controls, but would this give it fewer controls to worry about at any one time?
Posts: 5,292
Joined: Jun 2006
Reputation:
62
Jezz_X
Team-XBMC Skinner
Posts: 5,292
Apparently conditional includes only get read on window create
Posts: 2,087
Joined: Jun 2007
Reputation:
92
djh_
Aeon Project Founder
Posts: 2,087
So if a certain window - MyVideoNav, let's say - features both TV and Movie controls that display according to conditional visibility, would there be any benefit in splitting those using conditional includes? So when you load the Movie library rather than TV, you save on the TV-related resources?
Posts: 5,292
Joined: Jun 2006
Reputation:
62
Jezz_X
Team-XBMC Skinner
Posts: 5,292
I doubt it because the window doesn't get reloaded when switching between the 2 unless you access it directly
But to be honest I'm vague on the whole conditional includes thing I didn't even know they existed until last month
Posts: 2,087
Joined: Jun 2007
Reputation:
92
djh_
Aeon Project Founder
Posts: 2,087
Maybe jm can shed some light on it. I'm even more in the dark than you are, obviously, though I understand Aeon does have a rather extreme number of controls on the go at once.
Posts: 26,215
Joined: Oct 2003
Reputation:
187
Conditional includes only get included when the window is loaded, yes. So if you include only controls you need then obviously that reduces the number that XBMC has to iterate through.
If the user cannot get to their movies while in tvshows, then that'll work just fine. If they can, then strange things may happen (basically your nice movie views won't be available, unless the window is reloaded first).
Note that another problem is that the include conditions must be able to be evaluated at window load - i.e. some conditions may not be correctly returned if the rest of the window environment (such as which dir they're in, what the content type is and so on) has yet to be setup. I'm not sure exactly when some of these are valid, so it's something to be careful about.
Certainly skin options will be set at that point (and won't change while you're in that screen, one presumes) so they can be used to switch stuff off.
Cheers,
Jonathan
Posts: 2,087
Joined: Jun 2007
Reputation:
92
djh_
Aeon Project Founder
Posts: 2,087
That problem actually grew from a much earlier use of skin settings to differentiate the two libraries, which itself stemmed from trouble I was having controlling the uppermost windows - the genre, title, etc. ones. They didn't seem to fit in with the whole Container.Content system. I was probably missing something, though.
Anyway, the conditional includes thing has compounded the issue past the point of being rectified now, which is absolutely fine by me as I don't see the whole remote-jumping thing as essential. In fact, I'd be surprised if more than 1 per cent of XBMC users used it. If I could, I'd shut that functionality out of Aeon entirely to stop people running into problems.