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 
<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

Reply via email to