qdtk / openshadinglanguage

Automatically exported from code.google.com/p/openshadinglanguage
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

add more statistics and fix existing ones #39

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I see the following on all renders:

Instances: 0 requested, 0 peak, 0 current
Which seems wrong, unless I am missing something.

I would like to see additional stats (in no particular order):

number of shaders executed
number of opcodes executed
number of layers executed
number of layers executed on demand
average shader network size (min, max, avg)
average number of points / eval
most frequently executed shaders (sort of like the top-5 texture list)
number of opcodes / layer (min, max, avg)

12/17/09 13:58:04 changed by lg 

Funny, that's EXACTLY what I've been working on today! Already have many of 
your stats completed.

12/17/09 14:00:31 changed by ckulla 

Great! This should give us a better feel for the complexity of the production 
shaders.

When we have shader types in place it would be nice to break down all of the 
above into:

surface
light attenuator
background
displacement
volume
12/17/09 16:21:30 changed by lg 

Work in progress:

00:01:24   86mb         | OSL ShadingSystem statistics (0x100d06f80)
00:01:24   86mb         |   Shaders:
00:01:24   86mb         |     Requested: 122
00:01:24   86mb         |     Loaded:    14
00:01:24   86mb         |     Masters:   14
00:01:24   86mb         |     Instances: 122 requested, 122 peak, 122 current
00:01:24   86mb         |   Shading contexts: 3 requested, 3 peak, 0 current
00:01:24   86mb         |   Shading groups:   6
00:01:24   86mb         |     Total instances in all groups: 122
00:01:24   86mb         |     Avg instances per group: 20.3
00:01:24   86mb         |   Layers executed:
00:01:24   86mb         |     Unconditional:     215941  (24.4%)
00:01:24   86mb         |     On demand:         670745  (75.6%)
00:01:24   86mb         |     Skipped:          1178885  (57.1% of total)
00:01:24   86mb         |   Regex's compiled: 0
So that's pretty cool, on a production shader network, we are evaluating fewer 
than half of the nodes.

(follow-up: ↓ 5 ) 12/17/09 16:31:36 changed by ckulla 

Should the percentages add up? (unconditional + on demand + skipped = 100% ?)

(in reply to: ↑ 4 ) 12/17/09 16:59:32 changed by lg 

Replying to ckulla:

Should the percentages add up? (unconditional + on demand + skipped = 100% ?)

The unconditional and on-demand percentages are OF THE LAYERS RUN (i.e. 
uncond+ondemand).

The "skipped" percentage is OF THE TOTAL LAYERS SPECIFIED.

So in this example, 57% of layers were skipped. Of the 43% that ran, 1/4 were 
run unconditionally (because 
they wrote to globals or were the last layer) and 3/4 were run on demand.

12/17/09 17:07:09 changed by ckulla 

Thats what I figured - but I think it would read better if they added up to 
100% since they are on 3 
consecutive lines. Only the output code needs to change.

Either that or add a line that give the total number of nodes run (vs. skipped).

12/18/09 12:17:58 changed by lg 

OK, new take on it:

00:00:45   85mb         | OSL ShadingSystem statistics (0x100d06f80)
00:00:45   85mb         |   Shaders:
00:00:45   85mb         |     Requested: 122
00:00:45   85mb         |     Loaded:    14
00:00:45   85mb         |     Masters:   14
00:00:45   85mb         |     Instances: 122 requested, 122 peak, 122 current
00:00:45   85mb         |   Shading contexts: 3 requested, 3 peak, 0 current
00:00:45   85mb         |   Shading groups:   6
00:00:45   85mb         |     Total instances in all groups: 122
00:00:45   85mb         |     Avg instances per group: 20.3
00:00:45   85mb         |   Total layers run:    2065571
00:00:45   85mb         |     Unconditional:      215941  (10.5%)
00:00:45   85mb         |     On demand:          670745  (32.5%)
00:00:45   85mb         |     Skipped:           1178885  (57.1%)
00:00:45   85mb         |   Regex's compiled: 0
That's what I'll submit the review for.

12/18/09 12:23:19 changed by lg 

<review>/858/ contains, among other things, some of these stats. Ticket still 
open, there are more stats to 
add later.

Original issue reported on code.google.com by rene.lim...@gmail.com on 11 Jan 2010 at 7:15

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago

Original comment by rene.lim...@gmail.com on 13 Jan 2010 at 12:58