我对使用xcb库的"图形上下文"感到困惑。www周围有一些示例,它们都显示了使用单个图形上下文创建一个窗口。当然,在设置多个窗口时,每个窗口都有自己的图形上下文,或者可能是几个。
我可以或应该为同一个窗口创建多个图形上下文吗?例如,一个用于绘制花朵,另一个用于河流,第三个用于文本标签?还是只使用一个并使其适应手头的工作更好?
在这方面,什么被认为是好的编程风格?
您可以根据需要创建任意数量的上下文。经验法则是:
- 如果您以相同的样式绘制所有内容,请使用一个上下文。
- 如果更改样式(但不经常更改),请使用一个上下文。
- 如果您经常更改样式,请跟随您的感官并使用一个内容(并根据需要更改其属性)或创建多个内容。后一种方法更快,但如果 GC 过多,则可能会用完它们(窗口可以包含的 GC 数量有限制)。