Quantcast
Channel: Qt DevNet forums: Qt Quick 1283365070**
Viewing all articles
Browse latest Browse all 4972

QSGGeometry / scenegraph: how to reuse data from QSGGeometry

$
0
0
Hi, I am using scenegraph to generate a chart and so each x ms I get a new data sample from the input module. Now I regenerate the data constantly using a for loop:         QSGGeometry* geometryNewLine = mNodeNewLine->geometry();         geometryNewLine->allocate(mLoopVertices->newLineVertices.count());         QSGGeometry::ColoredPoint2D *verticesNewLine = geometryNewLine->vertexDataAsColoredPoint2D();           for (int i=0; i<mLoopVertices->newLineVertices.count(); i++)         {             color = mLoopVertices->newLineVertices.at(i).second ? colorInspiration : colorExpiration;             verticesNewLine[i].set(//adapt vertice                                    mLoopVertices->newLineVertices.at(i).first.x, mLoopVertices->newLineVertices.at(i).first.y,                                    //adapt color                                    color.red(), color.green(), color.blue(), color.alpha()                                    );         } But this is taking quite some time and performance of course … now I do not seem to see in the documentation a method for updating this with one new sample at the time? Do I always need to copy everything? A immediate easy update could be using a QVector in code outside of the updatePaintNode and then get the data as an array out of it and doing a memcopy or some sort (std::copy). Still I wonder if there is not an easier way of updating part of the data through QSGGeometry instead of always copying everything, thanks in advance, kind regards, Tim [edit, code tags added, koahnig]

Viewing all articles
Browse latest Browse all 4972

Trending Articles