Hi, it looks like your wiki is rather comprehensive.  I can clear up
some of the issues on it.

The bottom line is that it is possible to build complex, real-time
interactive programs, but it often requires using a Java profiler
and fixing bottlenecks.  Professor Lee and I are in the process of
fixing a set of problems for a client (someone who is paying money
for this sort of work).  Performance tuning can be slow going and
requires quite a bit of knowledge.  The Towers of Hanoi demo
definitely seems slow to me.  Perhaps some tuning would help.

Drone looks pretty cool! http://drone.ws/index.php?page=about says
"Drone is an open source software for digital and interactive arts. It
allows the design of realtime signal processing machines for video and
audio through a generic data flow interface."

Unfortunately, you don't have Windows binaries, so Professor Lee
and I can't easily download it.  (I'd like to switch to a Mac . . .)

I think Ptolemy is very well suited for handling signal processing
of audio signals using the SDF domain.  We can generate C
code for SDF models, and have experimented using The Simple
DirectMedia Layer (SDFL: http://www.libsdl.org/) package as output.
However, this work is somewhat incomplete, we ran into various issues
when we tried to port this code to embedded processors.  I believe
it worked fairly well on the PC though.  Many audio demos will
run just fine in real time.  See the SDF demos, the applets
can be found at
http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/ptolemy/domains/sdf/doc/

Video performance is somewhat slower, see the sdf HTVQ demo at
ptII/ptolemy/domains/sdf/demo/HTVQ
(http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/ptolemy/domains/sdf/demo/HTVQ/HTVQ.htm)
Ptolemy II has a pretty nifty interface to Java 3D.  Various people
outside of the Ptolemy group have been able to quickly create simple
models that use Java 3D to illustrate complex behaviour.  However, as
you saw, the Towers of Hanoi model is slow, and it uses Java 3D.  The
Furuta pendulum demo and some of the Zeno and Newton's Cradle demos
are more useful.

To directly answer your time/memory overhead question, it is very easy
to build slow large systems using any framework.  For example,
accessing large arrays in the "wrong" way can cause problems depending
on the cache policy.  Ptolemy is no different, it is easy to 
create large, slow models.  That being said, a little guidance
and a little performance tool use can go a long way.  For example,
rather than using actors to do trivial things to matrices, it might be
better to write a custom actor.  

BTW - not to start the C++/Java language question, but I find Java
much easier to use than C++ and I don't see major runtime perfomance
issues in Java as compared with C++.  This might be because the
areas I work in are not CPU bound tasks.   

I'll take a look at your wiki and make some updates.

_Christopher

Christopher Brooks (cxh at eecs berkeley edu) University of California
Programmer/Analyst Chess/Ptolemy/Trust        US Mail: 558 Cory Hall #1774
ph: 510.643.9841 fax:510.642.2718             Berkeley, CA 94720-1774
home: (F-Tu) 707.665.0131 (W-F) 510.655.5480  (office: 400A Cory)



--------

    Hi,
    
    I am part of a group that develops an open-source (GPL) multimedia 
    platform called Drone. Over the past few years, we have been developing, 
    in C++, a dataflow-oriented, video-only platform. For our next release, 
    we are now targeting a platform that supports different programming 
    paradigms (dataflow, FSM, scripting, etc).
    
    We have recently (2 days ago) found out about Ptolemy II and have been 
    studying it alot. We have tried to answer a few questions:
    https://lethe.koumbit.net/trac/drone/wiki/DevNotes/PtolemyII
    
    However, we feel like it would help if someone on this list could give 
    us feedback. Our primary concern is: Can we built complex, real-time, 
    interactive programs with PtII? What is the time/memory overhead of 
    using Ptolemy II?
    
    Most of the demos we have found in Ptolemy II have very few entities. 
    The only one with many entities (HanoiTowers.xml) is way too slow, but 
    this may be due to its use of recursion.
    
    Thanks,
    
    Drone website: http://drone.ws/
    Dev site: https://lethe.koumbit.net/trac/drone/
    
    -- 
    J. S. Senécal
    http://drone.ws
    
    
    ---------------------------------------------------------------------------
   -
    Posted to the ptolemy-hackers mailing list.  Please send administrative
    mail for this list to: [EMAIL PROTECTED]
--------

----------------------------------------------------------------------------
Posted to the ptolemy-hackers mailing list.  Please send administrative
mail for this list to: [EMAIL PROTECTED]

Reply via email to