484 views
in GUI Development by
Hi,

Anyway to disable dirty area?

We need to take the performance metrics with/without dirty area.

 

Best Regards,

Preethi S

Robert Bosch - India

2 Answers

0 votes
by

Hello Preethi,

I don't understand your question. Do you want to suppress the application from being able to display screen contents? If yes, you can set the property Visible of the application component to the value false. I have just tried this approach and it does not apply to the root application component. You would need to make invisible all the embedded GUI compopnents.

Best regards

Paul Banach

0 votes
by

Hello Preethi,

I'm not sure what performance metrics you finally want to get - but I assume you want to compare the "regular update" that is limited to the dirty areas with some kind of full-screen update.

In this case you can use the method InvalidateArea() of the application class and force an update of the entire application.

Is this what you are looking for?

Best regards,

Manfred.

by

Hi Manfred,

Thanks for the hint.

One more query , from where we have make a call to this function InvalidateArea() ?

Is it correct to call this function inside UpdateViewState() of the Application Class?

Best Regards,

Preethi S,

Robert Bosch - India

by

Hi Preethi,

you can do the following modification within the file ewmain.c - there you will find the function EwUpdate(). Just add the line with the call to CoreGroup__InvalidateArea:

  bitmap = EwBeginUpdate( aViewport );

  /* let's redraw the dirty area of the screen. Cover the returned bitmap
     objects within a canvas, so Mosaic can draw to it. */
  if ( bitmap && canvas )
  {
    GraphicsCanvas__AttachBitmap( canvas, (XUInt32)bitmap );
    CoreGroup__InvalidateArea( aApplication, EwNewRect( 0, 0, FRAME_BUFFER_WIDTH, FRAME_BUFFER_HEIGHT ));
    updateRect = CoreRoot__UpdateGE20( aApplication, canvas );
    GraphicsCanvas__DetachBitmap( canvas );
  }

  /* complete the update */
  if ( bitmap )
    EwEndUpdate( aViewport, updateRect );

As a result, every update will be done for the entire screen.

Best regards,

Manfred.

by
Hi Manfred,

Thanks for the update.

We tried it and could see the difference.

Best Regards,

Preethi S

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...