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
Original issue reported on code.google.com by
rene.lim...@gmail.com
on 11 Jan 2010 at 7:15