Truth. -----Original Message----- From: nuke-dev-boun...@support.thefoundry.co.uk [mailto:nuke-dev-boun...@support.thefoundry.co.uk] On Behalf Of Jonathan Egstad Sent: Wednesday, June 06, 2012 10:18 AM To: Nuke plug-in development discussion Subject: Re: [Nuke-dev] Fastest way of accessing a single pixel in an IOP
On Jun 6, 2012, at 10:12 AM, Steven Booth wrote: > Are you doing this in an engine thread? If so, the center pixel has already > been given to you in the 'row' passed to engine. That would, by far, be the > fastest way to get the center pixel, I would think. That's only if the tile is being gotten from input0 of the Iop and you've already done a get() into a row, or you're using a PixelIop - Stephen didn't specify. If it's from a secondary input or it's a raw Iop you have to get the entire thing yourself. > And, if you use the [z][y][x] format (which is, as Johathan observes, the > fastest), be sure you use the 'tile.clampx'/'tile.clampy' to properly > validate your coordinates, or you may crash Nuke. > > Steve > > > -----Original Message----- > From: nuke-dev-boun...@support.thefoundry.co.uk > [mailto:nuke-dev-boun...@support.thefoundry.co.uk] On Behalf Of > Jonathan Egstad > Sent: Wednesday, June 06, 2012 10:05 AM > To: Nuke plug-in development discussion > Subject: Re: [Nuke-dev] Fastest way of accessing a single pixel in an > IOP > > Well, you definitely don't want to use Tile::at() as that does bounds > checking. > > Using tile[z][y][x] is relatively fast except that it's doing the pointer > multiplies at each pixel - it's fastest to do organize the loop by channel > (z) and initialize a pointer to the start of each line (y) and iterate across > pre-incrementing the pointer. > > Not sure what a tile-per-pixel means relative to a tile-per-row - got a > reference to that quote in the docs? > > -jonathan > > On Jun 6, 2012, at 5:00 AM, Stephen Newbold wrote: > >> Hi, >> >> I have a IOP that uses a largish tile to do some filtering. I'm looking to >> do some basic optimisation to speed things up by skipping doing the >> filtering on any back pixel. What's the most efficient way of checking the >> value of the current pixel, which is also the centre value of my tile? >> >> My tile is the size of my entire row plus the width/height of the filter. >> I'm iterating through each X value in the row, should I just directly access >> the pixel from the tile with tile[z][y][x]. Or is there a more efficient >> way of doing this? >> >> Also, in the docs there is talk of maybe creating a tile per pixel is faster >> than a tile per row. Is there a clear distinction for when one is faster >> than the other (ie. does tile size determine this)? >> >> Cheers, >> Steve >> >> -- >> Stephen Newbold >> Compositing Lead - Film >> MPC >> 127 Wardour Street >> Soho, London, W1F 0NL >> Main - + 44 (0) 20 7434 3100 >> www.moving-picture.com >> >> _______________________________________________ >> Nuke-dev mailing list >> Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev > > _______________________________________________ > Nuke-dev mailing list > Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev > (CONFIDENTIALITY NOTICE: The information contained in this email may > be confidential and/or privileged. This email is intended to be > reviewed by only the individual or organization named above. If you > are not the intended recipient, or an authorized representative of the > intended recipient, you are hereby notified that any review, > dissemination or copying of this email, or the information contained > herein is strictly prohibited. If you have received this communication > in error, please notify the sender by return email and delete this > email from your system. Thank You.) > > _______________________________________________ > Nuke-dev mailing list > Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev _______________________________________________ Nuke-dev mailing list Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev (CONFIDENTIALITY NOTICE: The information contained in this email may be confidential and/or privileged. This email is intended to be reviewed by only the individual or organization named above. If you are not the intended recipient, or an authorized representative of the intended recipient, you are hereby notified that any review, dissemination or copying of this email, or the information contained herein is strictly prohibited. If you have received this communication in error, please notify the sender by return email and delete this email from your system. Thank You.) _______________________________________________ Nuke-dev mailing list Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev