2016-06-02 6 views
0

私はQGraphicsViewでグリッドが必要です。私はキャンバスを35msごとに更新します。 最高のパフォーマンスでグリッドを生成するにはどうすればよいですか?グリッドを描画するのに最も効率的なものは何ですか?

私は今、これを使用しています:

//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のグラフィックパフォーマンスを向上させる方法はありますか?

+0

http://stackoverflow.com/a/8280539/5653461 – IAmInPLS

答えて

0

グリッドは変更されないと仮定すると、QPainterPathでビルドし、それを描画するだけです。

いくつかの設定でQTのグラフィックスパフォーマンスを向上させる方法はありますか?

はい、あなたのやっていることにもよりますが、いくつかの方法があります。 openGLを使用すると、しばしばはるかに高速ですが、not alwaysです。

+0

ありがとうございます。 QPainterとQGraphicsViewでOpenGLを使用する方法はありますか? –

+0

はい、ビューポートにQGLWidgetを設定する例はこちら[このディスカッション](http://www.qtcentre.org/threads/40987-QGraphicsScene-OpenGL-rendering) – TheDarkKnight

関連する問題