I still don't quite understand what would have caused the performance
degradation, so I'm going to compare the code to try to understand what
changed.
Is there anything characteristic about the DPX files? Just ordinary RGB?
Anything unusual about them, especially high resolution, or other attributes?
Or did you see orders of magnitude slowdown with every file you tried? Are you
Windows only or did you get a chance to see if a slowdown was apparent on Linux
or OSX as well? Trying to understand what happened, as DPX is pretty widely
used in studios but nobody had previously noticed this.
-- lg
> On Sep 3, 2019, at 10:37 PM, Renaud Talon <[email protected]> wrote:
>
> This use to work fine for me on 1.8.5 and previous. I honestly didn’t update
> OIIO before the first(ish) release of OIIO 2.0 and that’s when I started
> running into the performance issues with DPXs.
>
> At the time I was compiling with a certain set of thrid party libraries and
> Visual Studio 2015. Since then I re-compiled all my dependencies for Visual
> Studio 2017 and made a new attempt at compiling oiio 2.0 (in this case
> 2.0.10) but I ran into the same performance issue.
>
> My initial test code was using the “read_scanline()” method instead of
> “read_image()” and Michael’s patch only fixes the read_image() method of
> course so the problem remains with “read_scanline()”.
>
> I did compare the dpx plugin code between 1.8.5 and 2.0.10 and noticed that
> there were quite a few changes that were made but my C++ skills are not
> advanced enough for me to figure out what could cause this behavior.
>
> I created a PR but this is more to help keep track of the issue than a
> request to merge this code in as I don’t think this is a proper “long-term”
> fix.
>
> Thanks again,
>
> Renaud
>
> From: Larry Gritz <mailto:[email protected]>
> Sent: Tuesday, September 3, 2019 5:37 PM
> To: OpenImageIO developers <mailto:[email protected]>
> Subject: Re: [Oiio-dev] OIIO 2.x extremely slow DPX load time
>
> Definitely. Can you prepare a real PR with the patch that seems to work?
>
> I'll do some digging to try to figure out what broke. Did it used to be like
> this and we broke something?
>
>
>
>
> On Sep 3, 2019, at 5:32 PM, Renaud Talon <[email protected]
> <mailto:[email protected]>> wrote:
>
> Hi Michael,
>
> your patch absolutely works ! My benchmark goes from 60s+ to 700ms !!!
>
> I was getting corrupted images with my test code at first because I wasn't
> passing the image spec.format to the "read_image()" method. (which worked
> fine with OIIO 1.8.5 but is clearly needed to use the DPXInput::read_image
> patch you provided)
>
> I changed :
> pixels = srcFile.read_image()
>
> to:
> pixels = srcFile.read_image(spec.format)
>
> and it worked like a charm.
>
> Larry, if you're reading this. Could we get Michael's patch or a similar fix
> merged into OIIO code please ?
> Thanks,
>
> Renaud
> _______________________________________________
> Oiio-dev mailing list
> [email protected] <mailto:[email protected]>
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
>
> --
> Larry Gritz
> [email protected] <mailto:[email protected]>
>
>
>
>
>
>
> _______________________________________________
> Oiio-dev mailing list
> [email protected] <mailto:[email protected]>
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
--
Larry Gritz
[email protected]
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org