OGL interface optimization


    Oct 20 2006 | 5:05 am
    I apologize for the long post. -matt
    ---------------- INTRO:-------------------------------
    I'm trying to optimize this interface. Right now it uses 10% of my
    CPU (even though its on the GPU). I'm not a jitter guy but this is
    unacceptable. I was hoping to describe what I'm doing and see if
    theres a better way(less CPU intensive). Why do the complex examples
    run so smoothly but when I draw 100 lines and my computer slows to a
    halt? ( 1.33 gHz G4, ATI Mobility Radeon 9700, 4.5&4.6)
    I read, but I didn't understand, this article.
    ---------------- MISC CPU UH-
    OHS:-------------------------------------------------
    * Can't turn jit.windowlistener's idlemousing off (even in the
    example patches)
    * Just running moving the mouse around an empty max document raises
    max's cpu 6%-11%
    ---------------- HOW IT WORKS
    NOW:----------------------------------------------------
    The grid is a single jit.gl.sketch using linesegments
    each curve is its own jit.gl.sketch using the following commands
    beginstroke ("line")
    strokeparam("color", yada)
    strokepoint (3x)
    framecircle
    endstroke
    the reason I made them separate glsketches is because I don't have to
    recalc them all when altering a single one.
    I'm using jit.window listener.
    ---------------- WHAT IT LOOKS
    LIKE:-----------------------------------------
    Believe it or not, this interface is necessary. If the curves
    weren't there, the user couldn't discern between overlapping
    sements. (other ideas welcome) The circles aren't integral. The
    user can create, hilite, and change the brightness of each curve. I
    can provide an example but it'll be complicated.
    ---------------- ONLY IF YOU WANT TO KNOW WHAT IT DOES------
    its a 2nd degree markov editor,
    x axis is time, y is drum.
    each segment represents the transition from 1 xy pair to another.
    the brightness of the line is the probability of making that transition.
    I can't think of a different way to represent 5 dimensional data.
    (fromX,fromY,toX,toY,prob)

    • Oct 20 2006 | 12:22 pm
      hello matt,
      how does the @displaylist 1 attribute for all of your sketches affect
      performance? it is a part of "Minimize CPU Copies" segment in the link you
      provided.
      also, checkout 'shapeslice' message for jit.gl.sketch in jitter reference,
      to lower the number of line segments when drawing circles.
      best,
      nesa