fishBMC - Printable Version
+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Visualization and Screensaver Development (/forumdisplay.php?fid=38)
+--- Thread: fishBMC (/showthread.php?tid=90686)
- idefixs - 2011-01-19 21:49
Thank you Alan,
I have found out that SetSetting does get called after I return STATUS_NEED_SETTINGS. Works perfectly now.
The other thing you mention is indeed very interesting. Does this mean, I could also have a statically allocated memory area? This would greatly help fishBMC start up faster. As it is now, quite a lot of arithmetic has to be performed for every restart.
- alanwww1 - 2011-01-20 00:05
idefixs Wrote:I have found out that SetSetting does get called after I return STATUS_NEED_SETTINGS. Works perfectly now.
No. It only allows introducing some gui hidden settings in settings.xml which can be updated when the vis is terminated. This way when restarting again, these settings get applied through the SetSettings() function. This is useful to keep state of the vis across screens and even across sessions. To hold more data, you could create a file for that. I think keeping a memory area when a plugin is not used, is not so good, but maybe Devs disagree. I am not sure.
- idefixs - 2011-01-20 00:16
I have thought about creating a file for storing the required data. The file would be quite large (up to 80 MB) - i will look into it and see what the performance gain would be.
- pike - 2011-01-24 20:48
@idefixs Cool with a new Visualizer, we can never have too many of those!
A couple of remarks...
The 'init' each time the vis (re)starts, how come this is the first viz I've ever seen this in ?
How many built in "Modes" is there ? they seem to repeat pretty often
- idefixs - 2011-01-27 17:35
pike Wrote:The 'init' each time the vis (re)starts, how come this is the first viz I've ever seen this in ?
Thank you for your feedback!
The answers to those two questions are somewhat interconnected. To run, fishBMC requires quite a large amount of data (in Detail = Extreme we're looking at 4MB per "mode"). Where to get all that data? The fastest way would be to have a statically allocated memory area, which is not currently possible within XBMC. I am looking into the possibility of saving the data to disk, but I doubt this will be a lot faster than the present method of just recalculating everything.
This said, there are currently 20 different vector fields, which could easily be expanded.
- pike - 2011-01-27 18:58
it would be great if the init was much quicker, maybe a lookup table can help ? (I'm no dev)
I think I found a bug, if you pause music playback with your viz, the viz gets stuck on 1 "mode" see:
- idefixs - 2011-01-28 00:18
pike Wrote:it would be great if the init was much quicker
How long does it take for you? What platform and hardware are you testing on?
- pike - 2011-01-28 00:25
idefixs Wrote:How long does it take for you? What platform and hardware are you testing on?
HW: Linux_64 + Intel® Celeron® CPU E3300 @ 2.50GHz (dualcore)
FishBMC = Extreme Detail
it takes approx 5-6 seconds for init every time viz re-inits, and also worth mentioning, while it's initing, both cores are fully utilized
- idefixs - 2011-01-29 15:20
pike Wrote:HW: Linux_64 + Intel® Celeron® CPU E3300 @ 2.50GHz (dualcore)I recommend you use Detail = High, which is 4 times faster (not only to init)
pike Wrote:...and also worth mentioning, while it's initing, both cores are fully utilizedThis is perfectly normal. If you had a 6-core machine you would have 6 fully stressed cores - for a significantly shorter time of course.
- idefixs - 2011-01-29 15:23
pike Wrote:I think I found a bug, if you pause music playback with your viz, the viz gets stuck on 1 "mode"Thank you very much for this report. This will be fixed with the next release.
- pike - 2011-01-29 15:45
if it's normal with 5-6 secs every time, I can only hope you rethink your approach here You get quite fed up with this re-init every time :o
- idefixs - 2011-01-29 16:20
Again, I suggest you use a lower detail setting. I have a quad-core Phenom at 2.6 GHz, and I use "High" detail.
"Extreme" is meant exclusively for top-end CPUs (and maybe for users who only init once or twice before leaving the box alone [party mode or so...])
Taking a different approach for initialization is not currently possible within XBMC.
EDIT: The possibility of storing all the data in a file is under investigation.
new release - idefixs - 2011-01-30 19:26
I have created a new release here. It includes the promised store-init-values-to-a-file-feature, and init takes close to no time (with an ssd at least)
- idefixs - 2011-04-09 16:48
There have been countless downloads, and I would really be interested in whether the plugin works on platforms other than Linux-64. Anyone?
- ronie - 2011-04-09 17:31
idefixs Wrote:There have been countless downloads, and I would really be interested in whether the plugin works on platforms other than Linux-64. Anyone?
on linux 32 bit, it crashes xbmc:
Quote:/opt/xbmc-20110407/lib/xbmc/xbmc.bin: symbol lookup error: /home/ronie/.xbmc/addons/visualization.fishbmc/fishbmc_linux32.vis: undefined symbol: _ZN11AudioBuffer8instanceEv