All of lore.kernel.org
 help / color / mirror / Atom feed
* imx6q gpu performance lower than expected
@ 2015-03-17 14:08 Nikita Yushchenko
  2015-03-17 15:16 ` Otavio Salvador
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Nikita Yushchenko @ 2015-03-17 14:08 UTC (permalink / raw)
  To: meta-freescale; +Cc: Gennady Kuznetsov

Hi

I've built freescale community bsp dizzy for a custom imx6q based board,
and now I'm experimenting with GPU performance under Qt5.

I have both xcb and eglfs backends running (under different builds).

However performance is lower than was expected: on LVDS 1280x800,
Qt5_CinematicExperience shows about 35-37 FPS, both under X11 and under
eglfs. If using smaller window under X11, FPS increases, if using
1920x1080 it goes down to 20.

This is much smaller than people get [1].

[1] https://community.freescale.com/thread/305066

CPU in both cases (x11 and egl) is almost unloaded (30% of one core
under eglfs, 30+30 under X11) so looks like speed limiting comes from GPU.

What could be reason for this?  Any hints?


TIA,
Nikita Yushchenko


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: imx6q gpu performance lower than expected
  2015-03-17 14:08 imx6q gpu performance lower than expected Nikita Yushchenko
@ 2015-03-17 15:16 ` Otavio Salvador
  2015-03-17 17:56 ` Dmitriy B.
  2015-03-23 14:10 ` Nikita Yushchenko
  2 siblings, 0 replies; 8+ messages in thread
From: Otavio Salvador @ 2015-03-17 15:16 UTC (permalink / raw)
  To: Nikita Yushchenko; +Cc: meta-freescale, Gennady Kuznetsov

On Tue, Mar 17, 2015 at 11:08 AM, Nikita Yushchenko
<nyushchenko@dev.rtsoft.ru> wrote:
> However performance is lower than was expected: on LVDS 1280x800,
> Qt5_CinematicExperience shows about 35-37 FPS, both under X11 and under
> eglfs. If using smaller window under X11, FPS increases, if using
> 1920x1080 it goes down to 20.

It might be related to several things, including memory.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: imx6q gpu performance lower than expected
  2015-03-17 14:08 imx6q gpu performance lower than expected Nikita Yushchenko
  2015-03-17 15:16 ` Otavio Salvador
@ 2015-03-17 17:56 ` Dmitriy B.
  2015-03-17 18:20   ` Otavio Salvador
  2015-03-23 14:10 ` Nikita Yushchenko
  2 siblings, 1 reply; 8+ messages in thread
From: Dmitriy B. @ 2015-03-17 17:56 UTC (permalink / raw)
  To: Nikita Yushchenko; +Cc: meta-freescale, Gennady Kuznetsov

[-- Attachment #1: Type: text/plain, Size: 1660 bytes --]

2015-03-17 17:08 GMT+03:00 Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>:

> Hi
>
> I've built freescale community bsp dizzy for a custom imx6q based board,
> and now I'm experimenting with GPU performance under Qt5.
>
> I have both xcb and eglfs backends running (under different builds).
>
> However performance is lower than was expected: on LVDS 1280x800,
> Qt5_CinematicExperience shows about 35-37 FPS, both under X11 and under
> eglfs. If using smaller window under X11, FPS increases, if using
> 1920x1080 it goes down to 20.
>
> This is much smaller than people get [1].
>
> [1] https://community.freescale.com/thread/305066
>
>
Please, read the original post on the forum, it says that resolution of
that demo is 1024x768 https://community.freescale.com/thread/305066#336263
You trying to run 1920x1080, what did you expect? As Otavio suggests, this
might be connected to memory, calculate the memory bandwidth needed for
drawing your app under X.org and I bet you'll hit the limit.


> CPU in both cases (x11 and egl) is almost unloaded (30% of one core
> under eglfs, 30+30 under X11) so looks like speed limiting comes from GPU.
>
> What could be reason for this?  Any hints?


Hint: Vivante X11 GPU drivers use DRI1(one, the 1998 one) and need a asm
patch to libdrm to work. Guess what happens when you drag 90s technology to
latest X.org on an embedded device.


> TIA,
> Nikita Yushchenko
> --
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale


Best Regards,
Dmitriy Beykun

[-- Attachment #2: Type: text/html, Size: 2872 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: imx6q gpu performance lower than expected
  2015-03-17 17:56 ` Dmitriy B.
@ 2015-03-17 18:20   ` Otavio Salvador
  2015-03-17 19:59     ` Nikita Yushchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Otavio Salvador @ 2015-03-17 18:20 UTC (permalink / raw)
  To: Dmitriy B.; +Cc: meta-freescale, Gennady Kuznetsov, Nikita Yushchenko

On Tue, Mar 17, 2015 at 2:56 PM, Dmitriy B. <rzk333@gmail.com> wrote:
> 2015-03-17 17:08 GMT+03:00 Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>:
...
>> CPU in both cases (x11 and egl) is almost unloaded (30% of one core
>> under eglfs, 30+30 under X11) so looks like speed limiting comes from GPU.
>>
>> What could be reason for this?  Any hints?
>
> Hint: Vivante X11 GPU drivers use DRI1(one, the 1998 one) and need a asm
> patch to libdrm to work. Guess what happens when you drag 90s technology to
> latest X.org on an embedded device.

EGLFS is the best choice here.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: imx6q gpu performance lower than expected
  2015-03-17 18:20   ` Otavio Salvador
@ 2015-03-17 19:59     ` Nikita Yushchenko
  2015-03-18  9:55       ` eien sakebe
  0 siblings, 1 reply; 8+ messages in thread
From: Nikita Yushchenko @ 2015-03-17 19:59 UTC (permalink / raw)
  To: Otavio Salvador, Dmitriy B.; +Cc: meta-freescale, Gennady Kuznetsov

17.03.2015 21:20, Otavio Salvador пишет:
> On Tue, Mar 17, 2015 at 2:56 PM, Dmitriy B. <rzk333@gmail.com> wrote:
>> 2015-03-17 17:08 GMT+03:00 Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>:
> ...
>>> CPU in both cases (x11 and egl) is almost unloaded (30% of one core
>>> under eglfs, 30+30 under X11) so looks like speed limiting comes from GPU.
>>>
>>> What could be reason for this?  Any hints?
>>
>> Hint: Vivante X11 GPU drivers use DRI1(one, the 1998 one) and need a asm
>> patch to libdrm to work. Guess what happens when you drag 90s technology to
>> latest X.org on an embedded device.
> 
> EGLFS is the best choice here.

As I've written in the original mail, eglfs shows about the same fps as
xcb does. Maybe several percent better (i.e. 37 vs 35) but that does not
look serious.

What FPS do other boards imx6 show under dizzy?
Interested if this is our setup problem or generic hardware limitation.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: imx6q gpu performance lower than expected
  2015-03-17 19:59     ` Nikita Yushchenko
@ 2015-03-18  9:55       ` eien sakebe
  0 siblings, 0 replies; 8+ messages in thread
From: eien sakebe @ 2015-03-18  9:55 UTC (permalink / raw)
  To: Nikita Yushchenko; +Cc: meta-freescale, Gennady Kuznetsov, Otavio Salvador

[-- Attachment #1: Type: text/plain, Size: 1395 bytes --]

Dears,
Got constant 60fps on Sabre For smart devices using (all graphical effects
activated) using eglfs and screen resolution of 1024x768

2015-03-17 20:59 GMT+01:00 Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>:

> 17.03.2015 21:20, Otavio Salvador пишет:
> > On Tue, Mar 17, 2015 at 2:56 PM, Dmitriy B. <rzk333@gmail.com> wrote:
> >> 2015-03-17 17:08 GMT+03:00 Nikita Yushchenko <nyushchenko@dev.rtsoft.ru
> >:
> > ...
> >>> CPU in both cases (x11 and egl) is almost unloaded (30% of one core
> >>> under eglfs, 30+30 under X11) so looks like speed limiting comes from
> GPU.
> >>>
> >>> What could be reason for this?  Any hints?
> >>
> >> Hint: Vivante X11 GPU drivers use DRI1(one, the 1998 one) and need a asm
> >> patch to libdrm to work. Guess what happens when you drag 90s
> technology to
> >> latest X.org on an embedded device.
> >
> > EGLFS is the best choice here.
>
> As I've written in the original mail, eglfs shows about the same fps as
> xcb does. Maybe several percent better (i.e. 37 vs 35) but that does not
> look serious.
>
> What FPS do other boards imx6 show under dizzy?
> Interested if this is our setup problem or generic hardware limitation.
>
> --
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale
>

[-- Attachment #2: Type: text/html, Size: 2182 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: imx6q gpu performance lower than expected
  2015-03-17 14:08 imx6q gpu performance lower than expected Nikita Yushchenko
  2015-03-17 15:16 ` Otavio Salvador
  2015-03-17 17:56 ` Dmitriy B.
@ 2015-03-23 14:10 ` Nikita Yushchenko
  2015-03-25  7:57   ` Dmitriy B.
  2 siblings, 1 reply; 8+ messages in thread
From: Nikita Yushchenko @ 2015-03-23 14:10 UTC (permalink / raw)
  To: meta-freescale; +Cc: Gennady Kuznetsov

Following up myself.

We have tested master + qt 5.3.2 and master + qt 5.4.1 combinations, with LVDS 1280x800 screen and eglfs backend.

Overall results are:
  dizzy, qt 5.3.2, imx6s => 22 fps  [this is poor hw, included just for reference]
  dizzy, qt 5.3.2, imx6q => 37 fps
  master, qt 5.3.2, imx6q => 49 fps
  master, qt 5.4.1, imx6q => 59 fps

Thus "memory bandwidth" is *not* the limiting factor on original setup.
Pure software update resulted into significant fps improvement.

Many thanks to Heikki Sarkanen for information that master branch shows better graphics performance.

> Hi
> 
> I've built freescale community bsp dizzy for a custom imx6q based board,
> and now I'm experimenting with GPU performance under Qt5.
> 
> I have both xcb and eglfs backends running (under different builds).
> 
> However performance is lower than was expected: on LVDS 1280x800,
> Qt5_CinematicExperience shows about 35-37 FPS, both under X11 and under
> eglfs. If using smaller window under X11, FPS increases, if using
> 1920x1080 it goes down to 20.
> 
> This is much smaller than people get [1].
> 
> [1] https://community.freescale.com/thread/305066
> 
> CPU in both cases (x11 and egl) is almost unloaded (30% of one core
> under eglfs, 30+30 under X11) so looks like speed limiting comes from GPU.
> 
> What could be reason for this?  Any hints?
> 
> 
> TIA,
> Nikita Yushchenko
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: imx6q gpu performance lower than expected
  2015-03-23 14:10 ` Nikita Yushchenko
@ 2015-03-25  7:57   ` Dmitriy B.
  0 siblings, 0 replies; 8+ messages in thread
From: Dmitriy B. @ 2015-03-25  7:57 UTC (permalink / raw)
  To: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 1877 bytes --]

2015-03-23 17:10 GMT+03:00 Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>:

> Following up myself.
>
> We have tested master + qt 5.3.2 and master + qt 5.4.1 combinations, with
> LVDS 1280x800 screen and eglfs backend.
>
> Overall results are:
>   dizzy, qt 5.3.2, imx6s => 22 fps  [this is poor hw, included just for
> reference]
>   dizzy, qt 5.3.2, imx6q => 37 fps
>   master, qt 5.3.2, imx6q => 49 fps
>   master, qt 5.4.1, imx6q => 59 fps
>
> Thus "memory bandwidth" is *not* the limiting factor on original setup.


You can't assume that without finding the culprit (read below). Memory
usage might have been optimized, knowing Vivante, they can leave various
bugs for years.


> Pure software update resulted into significant fps improvement.


Don't forget that when you change bracnhes, you also checkout meta-qt5
master branch, which might have latest things from qt5 developers, like
GLES3 support or bugfixes pulled from original qt5 repos.

Many thanks to Heikki Sarkanen for information that master branch shows
> better graphics performance.


Any info about at what exact point it did happen and what was the problem?
Relying on master is not a good way to go, master/master-next can be
broken, so you can't use that in your production all the time.

dizzy uses imx_3.10.17_1.0.0_ga as it seems
https://github.com/Freescale/meta-fsl-arm/blob/dizzy/recipes-kernel/linux/linux-imx_3.10.17.bb#L14
Vivante commits are there
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/log/drivers/mxc/gpu-viv?h=imx_3.10.17_1.0.0_ga
While master uses imx_3.10.53_1.1.0_ga
https://github.com/Freescale/meta-fsl-arm/blob/master/recipes-kernel/linux/linux-imx_3.10.53.bb#L13
Vivante at
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/log/drivers/mxc/gpu-viv?h=imx_3.10.53_1.1.0_ga

Best Regards,
Dmitriy Beykun

[-- Attachment #2: Type: text/html, Size: 3361 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-03-25  7:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-17 14:08 imx6q gpu performance lower than expected Nikita Yushchenko
2015-03-17 15:16 ` Otavio Salvador
2015-03-17 17:56 ` Dmitriy B.
2015-03-17 18:20   ` Otavio Salvador
2015-03-17 19:59     ` Nikita Yushchenko
2015-03-18  9:55       ` eien sakebe
2015-03-23 14:10 ` Nikita Yushchenko
2015-03-25  7:57   ` Dmitriy B.

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.