I follow that... at least I believe I do.
But, I made "the change" and am no longer sending a ref to <roScreen> to each function. Instead *when* I need it -- which could be less often assuming I fix the code where I know ahead of time that nothing is to be drawn -- in each Object's draw func:
scr = GetGlobalAA().scr
So, a local variable that is "another" reference to the original <roScreen>, yes?
So, then why does my refcnt go up from 5 to 8 when I have 3 object's drawing on screen, but all references are local and should disappear after the function closes? Yes, yes, the obvious 5 + 3 = 8 thing may apply here... but I'm more curious as to when gc [may be mixing buzzwords here] happens and/or why I have 8 references to <roScreen> when I'm no longer passing it as a parameter.
As it stands, I would think that if I wasn't careful my refcnt could go up rather high, no? Or on the other hand, shouldn't I be making sure to keep it as small and manageable as possible?