绘制网格最有效的方法是啥?
Posted
技术标签:
【中文标题】绘制网格最有效的方法是啥?【英文标题】:What is the most efficient to draw out a grid?绘制网格最有效的方法是什么? 【发布时间】:2016-06-02 08:29:43 【问题描述】:我需要一个 QGraphicsView 上的网格,我每 35 毫秒更新一次画布。 如何生成性能最佳的网格?
我现在正在使用这个:
//vertical lines
for(double i = 0; i < global::circuitWidth; i+= global::gridSize)
painter->drawLine(global::mmToPixel(i-global::circuitCornerX), - global::mmToPixel(global::circuitCornerY), global::mmToPixel(i-global::circuitCornerX), global::mmToPixel(global::circuitHeight-global::circuitCornerY));
//horizontal lines
for(double i = 0; i < global::circuitHeight; i+= global::gridSize)
painter->drawLine(-global::mmToPixel(global::circuitCornerX), global::mmToPixel(i-global::circuitCornerY), global::mmToPixel(global::circuitWidth-global::circuitCornerX), global::mmToPixel(i-global::circuitCornerY));
现在我意识到我以前可以计算一些参数,但除此之外还有什么?也许创建一个图像来绘制而不是线条?
还有没有办法通过一些设置来提高 QT 的图形性能?
【问题讨论】:
***.com/a/8280539/5653461 【参考方案1】:假设网格没有改变,使用QPainterPath 构建它并绘制它。
有没有办法通过一些设置来提高 QT 的图形性能?
是的,有几种方法,但这取决于你在做什么。使用openGL 通常更快,但not always。
【讨论】:
谢谢。有没有办法将 openGL 与 QPainter 和 QGraphicsView 一起使用? 是的,请参阅此处this discussion,了解在视口上设置 QGLWidget 的示例以上是关于绘制网格最有效的方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章