162 views
in Platform Packages by

Hi, EW team:

      Recently I have been studying computer graphics to have a better understanding of the performance of VgLite and PXP platform package for RT1170.

       In my understanding, there are some basic operations in CG that can be accelerated by graphic HW, as the table below. How the two platform packages support the operations is also listed.

 Blend TransformFilterVector GraphicFill
VGLiteyesyesyesyesyes
PXPyesnononoyes

     My questions are :

     1. Is my understanding right? Is there anything missing in the table?

    2. If one operation is not supported by HW, SW simulation has to take the job, right?

    3. SW simulation will introduce performance penalty, which is proportional to the pixel count of the involved image block. Because SW has to do the job pixel by pixel instead of HW paralleling, right?

    4. In PXP platform package, 3 APIs is encapsulated in ew_bsp_graphic.c, which are EwBspGraphicsCopy(), EwBspGraphicsFill(), EwBspGraphicsCopyBlend(). But in application of blending, EwBspGraphicsCopyBlend() has never been used nor even been linked into the program. Why?

    5. I made a simple demo that has one image keep changing its opacity over another image, the screen size is 280 * 280. I find that the function EwBspGraphicsCopy() is used to blend. It takes nearly 30ms to do blending, which seems to be of low performance. Does this result agree with the expectation of PXP?

 

     I am looking forward to your answers.

     Thank you very much.

Best regards.

Stephen   

1 Answer

0 votes
by
 
Best answer
Hello Stephen,

let me try to answer all your questions:

1. In principle, your understanding is right - however, the classification is very rough. In praxis there are so many options like blending, color format, ... which can be supported by a hardware graphics accelerator or not.

2. Generally, the Embedded Wizard Graphics Engine provides software pixel drivers for all graphics operations. In case there is a graphics accelerator available on the target, all graphics primitives that can be delegated to the hardware accelerator are then redirected to hardware drawing operations. All remaining drawing operations are still done by software.

3. Yes. in case there is no graphics accelerator in hardware, the CPU has to do the graphics operation. There are two main advantages of a hardware graphics accelerator: The GPU can operate in parallel to the CPU and the GPU can make graphics operations much faster than the CPU.

4. The supported graphics operations in case of PXP depends on the color format. There are only a few color formats supported by PXP when it comes to blending of bitmaps. The file ew_bsp_graphics.c is a common interface for all supported color formats.

5. It depends on the color format that you are using. For example if you are using a framebuffer with RGB565, the PXP is able to make a blending of an image with opacity, In case you are using a framebuffer with RGBA8888 the PXP is not able to do that, so the CPU will do the blending operation by using the software implementation.

I hope this answers your questions.
Best regards,
Manfred.
by
Hi, Manfred:

      Your answers help me very much.

     As to question 5:

    I checked the graphic engine RGB888 which I have been using. HW blending is not linked.  It really depends on graphic engines you defined.

    RGB888 framebuffer is required by customer. Does it mean that HW blending is impossible?

    Thank you.

 

Best regards.

Stephen
by
Hi Stephen,

yes - the usage of PXP depends on the color format of source bitmap and destination bitmap.

If you want further details, please get in contact with us via support@embedded-wizard.de then I can share a more detailed overview.

Best regards,
Manfred.

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

...