杂乱 1.6。第一次单独减慢屏幕渲染速度

发布于 2024-12-26 06:56:03 字数 2503 浏览 0 评论 0原文

我们使用 clutter 来渲染屏幕并处理 IMX31 板上的 GUI 事件。

问题描述:-

    On startup the buttons,texture will be loaded into memory. When we click any buttons then associated panel(ClutterGroup) will be processed and shown in Clutter main stage.

当处理所有子项并使其可见时,屏幕渲染第一次很慢。它还首次在 clutter-stage.c 中抛出 230 重绘错误消息。 屏幕渲染时间超过2秒。

Clutter-Message: [PAINT] ./clutter-stage.c:3369: First redraw request
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 1
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 2
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 3
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 4
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 5
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 6
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 7
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 8
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 9

                               .....................

当我们再次进入同一屏幕时,屏幕转换非常快,以微秒为单位。

并且不会再有更多的重画消息,只有 19 条重画消息。

只是我想知道如何避免 clutter-stage.c (Clutter 1.6) 中的重绘请求? 哪个杂乱函数调用会触发重绘请求?

预先致谢,

谨致问候, 卡西克

We were using clutter to render the screen and process the GUI events on IMX31 board.

The problem description :-

    On startup the buttons,texture will be loaded into memory. When we click any buttons then associated panel(ClutterGroup) will be processed and shown in Clutter main stage.

The screen rendering is slow for the first time when it processes all the child and making it visible. it also throws 230 redraw error messages in clutter-stage.c for the first time.
The screen rendering time crosses 2 seconds.

Clutter-Message: [PAINT] ./clutter-stage.c:3369: First redraw request
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 1
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 2
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [TEXTURE] ./clutter-texture.c:311: Texture realized
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 3
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 4
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 5
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 6
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 7
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 8
Clutter-Message: [PAINT] ./clutter-stage.c:3380: Redraw request number 9

                               .....................

When we go into the same screen again the screen transition is so fast and it is in microseconds.

Also there will not be more redraw messages and only 19 redraw messages.

Just i want to know how can we avoid Redraw request in clutter-stage.c (Clutter 1.6)?.
Which clutter function calls triggers Redraw request?.

Thanks in advance,

With Regards,
Karthick

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妥活 2025-01-02 06:56:03

首先,Clutter 1.6 是旧的稳定版本,因此您可能需要检查 Clutter 1.8。

您在初始帧上的速度变慢可能是由于将图像数据上传到 GPU 所致:此操作很敏感,并且取决于您可以使用的内存带宽量。

我的建议是尝试不要在启动时同步加载所有纹理,而是单独且延迟地加载每个纹理,一次一个。

first of all, Clutter 1.6 is the old stable version, so you may want to check Clutter 1.8.

your slow-down on the initial frame is probably due to uploading the image data to the GPU: this operation is sensitive, and depends on the amount of memory bandwidth you have at your disposal.

my suggestion is to try and not load all textures synchronously at start up, but to load each texture individually and lazily, one at a time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文