Hi folks,

For quite some time, I've been agonizing over using Hvirtual's 2.0 release vs the cvs release. The problem was the hvirtual binary did ~20FPS dv playback, but cvs only did ~6FPS. Enter oprofile.

My FC4 system is more or less a stock system, plus bits from the extras, freshrpms, and livna to solve all build dependencies. As others have suggested, the slowness was in libdv (In particular, a routine with O(n**4) characteristics!), but recompiling with "-O1 -fPIC" did not solve it.. Since the libdv in question was from around 2 years ago, the libdv from sourceforge's cvs repository seemed like a better choice. Now my playback is *much* better, similar to that of the hvirtual result.

Further, playing around with the audio, it appears playback being enabled can cause a *dramatic* drop in FPS! My system uses the OSS Audio Driver. It turns out the larger the "Samples to send to console at a time" setting, the slower the playback. By dropping it down to 2048, my system gets a full 30FPS. The 20FPS formerly mentioned is with the setting at 32768 and it goes all the way down to 10FPS at 65536.

Anyway, in the interest of helping out and possibly others investigating further optimizations, here is a link to my resulting binaries as well as a script that runs the profiler. These sources are the latest for both cinelerra svn and libdv cvs.

http://www.swcp.com/~synk/cinelerra/

The script that runs the profiler is attached to this message.

-Brendan
sudo opcontrol --shutdown
sudo opcontrol --reset
sudo opcontrol --setup --event=GLOBAL_POWER_EVENTS:860000 --separate=library
sudo opcontrol --start
cinelerra /twinkies/2005/christmas-hafla/tape1/xmas-001.avi
sudo opcontrol --shutdown
sudo opreport -t 5 --long-filenames
sudo opreport -l --long-filenames /usr/lib64/libdv.so.4.0.2

Reply via email to