aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/lua/count_reduced_clipstacks.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lua/count_reduced_clipstacks.lua')
-rw-r--r--tools/lua/count_reduced_clipstacks.lua87
1 files changed, 0 insertions, 87 deletions
diff --git a/tools/lua/count_reduced_clipstacks.lua b/tools/lua/count_reduced_clipstacks.lua
deleted file mode 100644
index 1ea7a44700..0000000000
--- a/tools/lua/count_reduced_clipstacks.lua
+++ /dev/null
@@ -1,87 +0,0 @@
-stats = {}
-
--- switch this to run on the automated scraper system
-newline = "\n"
--- newline = "\\n"
-
-function sk_scrape_startcanvas(c, fileName)
- canvas = c
- oldstackstr = "<invalid>"
-end
-
-function sk_scrape_endcanvas(c, fileName)
- canvas = nil
-end
-
-function string.starts(String,Start)
- return string.sub(String,1,string.len(Start))==Start
-end
-
-function build_stack_string(stack)
- local info = ""
- for i = 1, #stack do
- local element = stack[i];
- info = info .. element["op"] .. ", " .. element["type"] .. ", aa:" .. tostring(element["aa"])
- if (element["type"] == "path") then
- if (element["path"]:getSegmentTypes() == "line" and element["path"]:isConvex()) then
- info = info .. ", convex_poly " .. element["path"]:countPoints() .. " points"
- else
- info = info .. ", fill: " .. element["path"]:getFillType()
- info = info .. ", segments: (" .. element["path"]:getSegmentTypes() .. ")"
- info = info .. ", convex:" .. tostring(element["path"]:isConvex())
- end
- end
- info = info .. newline
- end
- return info
-end
-
-function sk_scrape_accumulate(t)
- if (string.starts(t.verb, "draw")) then
- local stack = canvas:getReducedClipStack()
- local stackstr = build_stack_string(stack)
- if (stackstr ~= "") then
- if (stats[stackstr] == nil) then
- stats[stackstr] = {}
- stats[stackstr].drawCnt = 0
- stats[stackstr].instanceCnt = 0
- end
- stats[stackstr].drawCnt = stats[stackstr].drawCnt + 1
- if (stackstr ~= oldstackstr) then
- stats[stackstr].instanceCnt = stats[stackstr].instanceCnt + 1
- end
- end
- oldstackstr = stackstr
- end
-end
-
-function print_stats(stats)
- function sort_by_draw_cnt(a, b)
- return a.data.drawCnt > b.data.drawCnt
- end
- array = {}
- for k,v in pairs(stats) do
- array[#array + 1] = { name = k, data = v }
- end
- table.sort(array, sort_by_draw_cnt)
- for i = 1, #array do
- io.write("\n-------\n", array[i].name, tostring(array[i].data.drawCnt), " draws, ", tostring(array[i].data.instanceCnt), " instances.\n")
- end
-end
-
-function sk_scrape_summarize()
- print_stats(stats)
- --[[ To use the web scraper comment out the print above, run the code below to generate an
- aggregate table on the automated scraper system. Then use the print_stats function on
- agg_stats in the aggregator step.
- for k,v in pairs(stats) do
- if (v.drawCnt ~= nil) then
- -- io.write("\n-------\n", k, tostring(v.drawCnt), " draws, ", tostring(v.instanceCnt), " instances.\n")
- local tableEntry = 'agg_stats["' .. k .. '"]'
- io.write(tableEntry, " = ", tableEntry, " or {}\n")
- io.write(tableEntry, ".drawCnt = (", tableEntry, ".drawCnt or 0 ) + ", v.drawCnt, "\n")
- io.write(tableEntry, ".instanceCnt = (", tableEntry, ".instanceCnt or 0 ) + ", v.instanceCnt, "\n")
- end
- end
- --]]
-end