Qt graphics performance on soft-float ARM? -


I would like to create a car dashboard such as QT interface (gauge, dial, dome etc.) My device has an 800x480 lcd, powered by an IMX 287 ARM SOC (no hardware float, or with no GPU weapon).

The problem is that it is very slow, a single gauge (background PNG image, in which the rotating PNG dial image) is drawn to 20 fps, ~ 20% CPU time uses a rendered text string Adding up to 40% of CPU usage increases.

I am using QGraphicsScene which I use a lot of floating point calx ... a problem because my SOC does not have any hardware float capability.

Is there a choice of QGraphicsScene that will work well for me?

This is what is currently doing:

  main window :: QWidget * parent): QMainWindow (parent), UI (new UI) :: MainWondo) (UI-> SetupUI (this); bg.load ("rpm.png") needle.load ("needle.png"); visible = new QGraphicsScene (this); visible-> gt; ; SetCentrect (0,0, 800,480); scene-> addPixmap (bg); NeedleItem = scene-> Pixmap (needle); needleItem-> setPos (400-4,17); TextItem = scene- & Gt; addtext (tr ("" (tr ("" ("tr" ("", "quote" ("utsaah", 50, QFont :: bold, true)); textItem-> setDefaultTextColor (Qcolor (255,255,255)); TextItem- & gt; ; Setpos (430, 360); UI- & gt; graphicsView- & gt; setScene (view ); Thread = new UpdateDialsThread; connect (thread, signal (updated dials), this slot (updatedDials)); thread- & gt; start ();} main menu :: update dial (Zero) {static int degree = 180; degree = 1; if (degrees> 180 + 270) deg = 180; QTransform trans; Trans.translate (needleItem-> boundingRect (). Width () / 2, needle Item-> BoundingWrite (). Height ()); Trans.rotate (deg, qt :: zaxis); Trans.translate (-needleItem-> boundingRect () .width () / 2, -nidelitem-> boundingwrite (). Height ()); NeedleItem-> SetTransform (trans); TextItem-> Set plain text (tr ("(% 1"). Arg (deg * 10, 4, 'f', 0));}   

Thanks advance!

I recommend using QML instead of QGraphicsView you create custom gauges with eye-catching animations with good performance. You can also see the spring and damping effects you can see.

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -