Yes please, send me the patch and I'll give it a shot.

On Tue, Jun 14, 2016 at 6:11 PM, Larry Gritz <[email protected]> wrote:

> Oops, yes, some of those stats print the "top 3" in various categories but
> skip any that were broken or invalid. If any of the top 3 are broken, fewer
> than 3 will print!
>
> Proposed fix is here: https://github.com/OpenImageIO/oiio/pull/1433
>
> I also incorporated your other suggestion of explicitly listing any
> broken/invalid files.
>
> Are you able to apply that patch on your end and try it out to let me know
> if it works well for your case and prints helpful output?
>
> On Jun 14, 2016, at 2:16 AM, Søren Ragsdale <[email protected]> wrote:
>
> I've got some renders which print texture statistics normally. (There are
> textures in the render.) The introduction of a hair system (adding more
> textures) causes "top files by bytes read" and "top files by I/O time" to
> stop printing, even though "slowest I/O rates" still prints:
>
> OpenImageIO ImageCache statistics (shared) ver 1.6.14
>>   Options:  max_memory_MB=8000.0 max_open_files=100 autotile=64
>>             autoscanline=0 automip=1 forcefloat=0 accept_untiled=1
>>             accept_unmipped=1 read_before_insert=0 deduplicate=1
>>             unassociatedalpha=0 failure_retries=0
>>   Images : 127 unique
>>     ImageInputs : 127 created, 95 current, 95 peak
>>     Total size of all images referenced : 21.7 GB
>>     Read from disk : 2.8 GB
>>     Find file time : 31.0s
>>     File I/O time : 30m 39.4s (38.3s average per thread)
>>     File open time only : 10.4s
>>   Tiles: 88598 created, 16324 current, 24896 peak
>>     total tile requests : 13153664
>>     micro-cache misses : 4444498 (33.789%)
>>     main cache misses : 18525 (0.140835%)
>>     Peak cache memory : 115.0 MB
>>     Find tile time : 27.8s
>>   32 were constant-valued in all pixels
>>
>> *  Top files by bytes read:*
>> *  Top files by I/O time:*
>> *  Files with slowest I/O rates:*
>> *    1     0.01 MB/s (0.00MB/0.58s)      8x   8x4.u8
>> /jobs/CFW/3D/ITEM/character/deer/body/TEXS/MSK/default_alt0/T_character_deer-body_default_alt0_MSK_2_lodDefault_v004/T_character_deer-body_default_alt0_MSK_2_lodDefault.1007.tex
>> MIP-COUNT [1,1,1]*
>> *    2     0.38 MB/s (0.29MB/0.78s)   8192x8192x1.u8
>> /jobs/CFW/3D/ITEM/character/deer/body/TEXS/SPCR/default_alt0/T_character_deer-body_default_alt0_SPCR_1_lodDefault_v006/T_character_deer-body_default_alt0_SPCR_1_lodDefault.1007.tex
>> MIP-COUNT [0,20,18,23,8,3,1,1,1,1,1,1,1]*
>> *    3     0.70 MB/s (0.21MB/0.29s)   8192x8192x1.u8
>> /jobs/CFW/3D/ITEM/character/deer/body/TEXS/SPCR/default_alt0/T_character_deer-body_default_alt0_SPCR_1_lodDefault_v006/T_character_deer-body_default_alt0_SPCR_1_lodDefault.1006.tex
>> MIP-COUNT [0,0,20,17,9,4,1,1,1,1,1,1,1]*    (fastest was 26.7 MB/s)
>
>
>
> I've run this through gdb, and it looks like it's failing in this way. The
> top-ranked files are either broken or have an invalid spec, so they don't
> print:
>
> 1711 for (int i = 0;  i < std::min<int> (topN, files.size());  ++i) {
>> (gdb)
>> 1712     if (files[i]->broken() || !files[i]->validspec())
>> (gdb)
>> 1713         continue;
>> (gdb)
>
>
>
> I think that OIIO should print which textures are broken or invalid (which
> is something we should know), and it should also print the top three
> textures which are valid and not-broken.
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> 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
>
>
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to