Particle refresh rate

blackburst's picture

I'm not sure if I'm wording this right but I'll give it a go. How does QC work with output refresh rates? If I set a particle emitter xy pos to something like a mouse for instance, it seems like I'm at the mercy of the monitor's refresh rate for the particle birth. I'm trying to get a smooth stream of particles that follows the input but I always end up with very obvious splotchy looking origin points when I move the mouse around reasonably swiftly. It is kind of minimized between 60 and 85hz on the display settings but it's not the smoothness I'm looking for. Does this mean I have to blur it? I'm having trouble understanding how this works, because rendered videos will be able to give me smoother motion presumably from the compression algorithms. Can somebody explain this to me or point me in the right direction for a solution? Thx in advance. JimBob

harrisonpault's picture
Re: Particle refresh rate

If I understand you correctly, you are observing discontinuities in particle emission when you move the mouse quickly. I believe the cause lies in the mouse patch, not the monitor refresh rate. If I am right, then what you need to "blur" is the x,y coordinate stream coming from the mouse.

If you use the mouse output coordinate stream to calculate an acceleration, as well as the position, then you can emit a smoothed stream that emits pseudo mouse coordinates evenly across the x,y plane, rather than evenly across the time dimension.

gtoledo3's picture
Re: Particle refresh rate

You should probably upload a sample.

The particle system itself has a lifetime and attraction settings that can influence the particle birthing in making it more consistent, or more sporadic.

It also has a Start Up Delay, in Settings, as well as a switch that will add an end of life size and color to your particles.

If you want to, go to the Quartz Composer menu bar, and hold down Option while you select Preferences.

You will see an extended amount of Preferences. Go to Editor.

Now, run down the list... Check "Disable VBL Synching". Also, you may as well hit on "multisampling" if you haven't already. You'll need to close and restart QC.

That's going to make stuff draw as fast as possible, but you you may also get screen tearing.

How do you know it's splotchy at all? Are you using an accumulator or feedback somehow? Is your technique there what's resulting in the lack of smoothness?

blackburst's picture
Re: Particle refresh rate

Cheers for the tips on the editor preferences, but the birthrate is the same. That's kind of the issue really, birthrate. The particle count and lifetime etc behave as expected but the birthrate I can't seem to change except by changing the output refresh rate. It's the same with every particle system I've tried in QC. Also it's not the mouse because it's the same with lfo's etc. If I mouse across the screen with the emitter, there are time-based points at which the particles are spawned, the faster I move the mouse the further apart the points are spaced. You would think tinkering with the particle count, lifetime etc would change this but all it seems to do is spawn more particles at these same points, a la a fixed birthrate. I'm not using an accumulator or anything. Do you think you could please do me a favour and maybe post a screenshot of ideal preference settings like the ones mentioned above, because there's basically nothing checked in my prefs, and there are some important sounding options in there, lol. The attached file is just a particle warfare attached to a mouse, note that changing the spawn rate just spawns more particles on the points I'm describing.

PreviewAttachmentSize
Particle sample.qtz2.53 KB

gtoledo3's picture
Re: Particle refresh rate

Ohhh, sorry, I have no comments on that plugin. Maybe franz has some thoughts.

What kind of particle look are you expecting though, that you aren't able to get? Do you have a clip of an example? It's hard to suggest ideal preferences, because I don't know what you expect to see. Maybe someone else has some ideas though.

I don't know about that one point ... if you change lifetime, it does change the effect. It's not a non-active port or anything. What is the output refresh rate too? What parameter are you talking about? There is no refresh rate, so idk. Is that on the _1024 plugin?

blackburst's picture
Re: Particle refresh rate

It's the same with the stock particle system. I want the birthrate to keep up with the emitter position better, and yes the lifetime does indeed change the lifetime but the particles aren't "alive" in the first place if that makes sense. The plan is to sacrifice lifetime and other hungries to boost the birthrate so it keeps up with fast movement across the screen from mouse, kinect, whatever. When you say output refresh rate, do you mean in my display settings? Cos I've tried between 60-85hz. I did contact franz about this but he sent me a comp with a queue in line with no success. I've attached a comp and a video of it in use, thanks for your time btw.

PreviewAttachmentSize
Flame.qtz4.06 KB
Particle exam001.mov14.59 MB

gtoledo3's picture
Re: Particle refresh rate

I mean more like...what do you think it should look like? Particles do kind of burst in pulses with the stock system, but can also make a steady stream as well.

If it bursts at a given rate, and you move your mouse a bunch, the rate of pulses isn't going to suddenly increase to account for the extra speed you're moving your mouse at, unless you do something to mitigate it. It's super conjecture on my part here, because there's no visual example of what you think it should actually look like (like some web clip, some after effects, or whatever...).

I need to look again through the thread... I'm asking you what you mean about refresh rate, but you're asking me back :) I'm kinda confused about that. At first I thought you meant the QC viewer refresh rate, but then you talked about adjusting particle refresh rate...which isn't on the actual patch.

So I'm thinking...

-A clip of what you're going for artistically might be helpful (not a clip of what it's not supposed to look like... that pinpoint the problem.)

-You're talking about "sacrificing" whatever, and that all particle systems in QC are the same. Most particle systems in QC are pretty darn different, so -1. Then, you start mentioning stuff about Kinect... maybe whatever your tracking algorithm is is convoluting this as well.

-You're not addressing the particle system by actual port names that are actually on the darn thing :) That makes it super hard to suggest anything, and also makes me think you should probably check out more developer examples that show how the particle system works, and checkout more example demos. Definitely do that before proclaiming that patches do or do not do things.

-Maybe your particular computer is having a hard time drawing the graphics efficiently. That will tend to add choppiness.

There's stuff like Particle Tools "particle paint.qtz" (this only works when you start QC in 32 bit mode at the moment), that creates a solid strip of particles when you draw (though sprite-ish in appearance by default). You could create particles with OpenCL. You could create a javascript particle generator, and then use an iterator or other patches to render objects.... sooo it's like nails on a chalkboard to hear that all particle systems are the same, when they absolutely are not.

blackburst's picture
Re: Particle refresh rate

Yeah I'm not getting it across well. I know particle systems are different man, that's not what I meant, I meant that the few particle systems I've tried in QC behave the way I'm describing.

"If it bursts at a given rate, and you move your mouse a bunch, the rate of pulses isn't going to suddenly increase to account for the extra speed you're moving your mouse at, unless you do something to mitigate it" - That's exactly what I mean, there seems to be a fixed burst-rate, I'm trying to find out what the rate is and if there is a way to alter it because it doesn't seem to be fast enough to keep up with speedy xy pos changes and still visually look like a steady stream of particles. Is there a particle patch for QC that lets you adjust the particle refresh rate?