<div dir="ltr">Iohannes,<div><br></div><div>thanks for your advice. However I forgot to add that the 200fps I would like to use is not for displaying, but mostly to analyse fast objects in front of the camera.</div><div>the chain would look like this:</div><div>[0( and [metro 5(</div><div>|</div><div>[gemhead]</div><div>|</div><div>[pix_video] with videoPYLON plugin</div><div>[pix_multiblob]</div><div><br></div><div>no pix_texture needed for video render, I use only the coordinates of the centre of gravity.</div><div>Theoretically, it should use the capacity frame rate of the USB3 cameras, should not it?</div><div><br></div><div>Best,</div><div>Popesz</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Sep 5, 2018 at 1:56 PM IOhannes m zmoelnig <<a href="mailto:zmoelnig@iem.at">zmoelnig@iem.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2018-09-05 12:26, Csaba Láng wrote:<br>
> Dear list,<br>
> I am using high speed cameras with 200fps.<br>
> Is there any hard coded limitation in Gem which determines maximum fps?<br>
<br>
no<br>
<br>
> or [frame 200( to [gemwin] is enough?<br>
<br>
no<br>
<br>
> I tried [metro 5] to [gemhead] too, but need a proof that it goes 200fps.<br>
> Does any of you have a patch which could measure the fps in gemwin?<br>
<br>
measure the time between two render-ticks with [realtime].<br>
<br>
<br>
anyhow: the problem you are facing is, that Gem uses openGL to render to<br>
the [gemwin].<br>
depending on the driver and your driver settings, the openGL render<br>
buffer might only be swapped while the screen is being blanked<br>
("sync-to-vblank"), to avoid tearing.<br>
if this is enabled, this means that for each render-tick, Gem (well,<br>
rather the underlying openGL engine) will wait for a vblank until the<br>
render-tick can be executed.<br>
the vblank happens whenever the screen is refreshed.<br>
if your screen has a refresh-rate of 97Hz, then the effective (maximum)<br>
frame-rate of the [gemwin] will be 97fps - regardless of what framerate<br>
you requested for the [gemwin] (via argument, or via the [frame(<br>
message). (pick *your* actual screen refresh rate).<br>
also, if the screen framerate is not an integer multiple of your chosen<br>
Gem-framerate, you might get weird resampling artifacts in the render<br>
timing.<br>
<br>
however, the only operations affected by this are openGL operations.<br>
these include all objects that draw to the screen (e.g. [square]), or<br>
manipulate the drawings (e.g. [rotate]) or the framebuffer<br>
([gemframebuffer], [glsl_program], [pix_texture])<br>
<br>
on the other side, objects that do not interact with the openGL engine,<br>
are not directly affected.<br>
most importantly, grabbing image data ([pix_image], [pix_video],...),<br>
storing image data ([pix_buffer...]) and manipulating image data<br>
([pix_gain], [pix_kaleidoscope], [pix_multiblob],...) has nothing to do<br>
with openGL and is therefore unaffected by sync-to-vblank.<br>
<br>
at least in theory. because when running a normal Gem-patch, the<br>
[pix_...] objects are driven (aka: triggered) by [gemwin], which (as it<br>
interacts with the openGL engine) is bound by sync-to-vblank.<br>
<br>
however: if (and only if) you have a [gemhead] that is only triggering<br>
non-openGL objects (e.g. *only* [pix_...]es), then you can manually<br>
trigger *this* gem-chain via a [metro], running at an arbitrary rate.<br>
(you should turn off the automatic-triggering of this [gemhead] by<br>
sending it a "0"),<br>
<br>
<br>
<br>
> I found something on the forum but not sure if it does the job for me.<br>
<br>
i found something in my washbasin, but i don't know how much i can<br>
charge for it.<br>
<br>
<br>
hgmasd<br>
rIOhannes<br>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>