stroke/fill/paint 中的开罗性能洞察
Cairo performance insight in stroke/fill/paint
这是一个更普遍的问题,关于如何在考虑性能的情况下为 Cairo 编写代码。
什么能提供更好的性能:
- 让你的 lines/area/... 比 stroke/fill/paint
- 制作 1 个项目,例如一个盒子 stroke/fill/paint 并制作下一个盒子,直到全部完成。
或者没有显着差异?或者可能只用于油漆而不是 stroke/fill?是否取决于抽取物品的数量?
一个真实世界的例子(高级代码),计算abc很简单:
save cr
set_source_color cr rgb1
loop 100 times
do calculations abc
draw box
end loop
fill cr
restore cr
set_source_color cr rgb2
loop 100 times
do calculations abc
draw arc
end loop
fill cr
restore cr
set_source_color cr rgb3
loop 100 times
do calculations abc
draw rectangle
end loop
fill cr
restore cr
或
loop 100 times
do calculations abc
set_source_color cr rgb1
draw box
fill cr
set_source_color cr rgb2
draw arc
fill cr
set_source_color cr rgb3
draw rectangle
fill cr
end loop
当然,这只有在所有框等都具有相同颜色的情况下才有效。否则必须使用选项 2。
这是一个更笼统的问题,给出的示例只是为了让我的示例场景更加清晰的说明。请毫不犹豫地在 depth/technical 中回答。
这是一个更普遍的问题,关于如何在考虑性能的情况下为 Cairo 编写代码。
什么能提供更好的性能:
- 让你的 lines/area/... 比 stroke/fill/paint
- 制作 1 个项目,例如一个盒子 stroke/fill/paint 并制作下一个盒子,直到全部完成。
或者没有显着差异?或者可能只用于油漆而不是 stroke/fill?是否取决于抽取物品的数量?
一个真实世界的例子(高级代码),计算abc很简单:
save cr
set_source_color cr rgb1
loop 100 times
do calculations abc
draw box
end loop
fill cr
restore cr
set_source_color cr rgb2
loop 100 times
do calculations abc
draw arc
end loop
fill cr
restore cr
set_source_color cr rgb3
loop 100 times
do calculations abc
draw rectangle
end loop
fill cr
restore cr
或
loop 100 times
do calculations abc
set_source_color cr rgb1
draw box
fill cr
set_source_color cr rgb2
draw arc
fill cr
set_source_color cr rgb3
draw rectangle
fill cr
end loop
当然,这只有在所有框等都具有相同颜色的情况下才有效。否则必须使用选项 2。
这是一个更笼统的问题,给出的示例只是为了让我的示例场景更加清晰的说明。请毫不犹豫地在 depth/technical 中回答。