Details
-
Task
-
Resolution: Invalid
-
P2: Important
-
None
-
Qt Creator 4.1.0
-
None
-
QT 5.7 Running on Linux based IMX-6
Description
I created a subclass of QQuickItem, passing a vector of points in screen coordinates from a background thread to a slot in my subclass. Then, in the updatePaintNode method, I paint the background rectangle and create a node for the points, attaching the node to the main rectangle node. I then cycle through the points setting the vertices x and y value and mark the point node dirty. The size of the QQuickItem is 700 by 700 pixels and the point values in the vector are between 1 and 700 for both the x and y values.
When I run my example code on an Linux X86 environment, the code works really well. I see the points being rendered on the component with excellent performance. I then recompile the same code for ARM IMX-6 and run it. No points are drawn, just the background rectangle. Both Linux 86 and ARM IMX-6 work when I draw lines in another component, however I need points only in this component, and points are not rendered in the ARM IMX-6 environment.
I need a high performance rendering, such as what OpenGL can provide, as opposed to a QPainter style, since I am rendering 50000 to 100000 points up to 15 to 20 times per second.
Does this mean that the OpenGL implementation on my ARM IMX-6 processor does not support point drawing and I have to make little triangles for each point?
I don't see an example that uses GL_POINTS other than one or two online.
I will attach the header file and cpp file for the QQuickItem subclass.
Your feedback is much appreciated.