QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1838|回复: 10

[SDL]為什麼YUVOverlay占CPU率高?

[复制链接]
发表于 2004-6-10 18:17:01 | 显示全部楼层 |阅读模式
在Xwindow下(同一份程式)YUVOverlay占CPU率只有10%左右, 可是在Console下占55%左右, 有誰可以教教我? 謝謝.
flag = SDL_SWSURFACE
screen = SDL_SetVideoMode(1024,768,16,flag);
overlay = SDL_CreateYUVOverlay(640,480,SDL_UYVY_OVERLAY,screen);
在Console下, 要是flag = SDL_HWSURFACE的話會占90%左右.
发表于 2004-6-10 18:20:10 | 显示全部楼层
YUVOverlay是什么程序?
回复

使用道具 举报

发表于 2004-6-10 18:20:58 | 显示全部楼层
frambuffer的图形处理性能要比X11差
回复

使用道具 举报

 楼主| 发表于 2004-6-10 19:32:49 | 显示全部楼层
YUVOverlay是我使用SDL_DisplayYUVOverlay在每秒show120張UYVY格式圖的程式. 在Xwindows下執行此程式, 只占CPU的10%, 而在Console下執行會占55%, 請求熟悉SDL的弟兄幫幫忙, 謝謝!
回复

使用道具 举报

发表于 2004-6-10 19:34:39 | 显示全部楼层
没接触过   lanche 知道否?
回复

使用道具 举报

发表于 2004-6-10 19:48:14 | 显示全部楼层
在console下一般都要以全屏参数运行,避免缩放等的计算带来的延迟效应。
回复

使用道具 举报

 楼主| 发表于 2004-6-10 19:58:28 | 显示全部楼层
我也把flag= SDL_FULLSCREEN打開, 也沒有做縮放, 沒有改進.
詳細的比對了程式, 發現只要去掉
SDL_DisplayYUVOverlay(overlay, &rect);
這一行, 在Console及Xwindow的CPU占用率就幾乎一樣都在10%左右.
有誰知道要怎樣改善呢?
回复

使用道具 举报

发表于 2004-6-10 20:22:45 | 显示全部楼层
怎这么多乱码?
回复

使用道具 举报

 楼主| 发表于 2004-6-14 10:12:19 | 显示全部楼层
I had set flag= SDL_FULLSCREEN, and not do stretch, but the performance also not improve.
After I check my code detailed, I mark the code
# SDL_DisplayYUVOverlay(overlay, &rect);
this line, then at the console and xwindows the cpu use rate will almost similar 10% only.
回复

使用道具 举报

 楼主| 发表于 2004-6-14 10:20:18 | 显示全部楼层
I found that at console mode, please set the MTRR will improve your performance.
How to set the MTRR, please see the url below:
http://www.mplayerhq.hu/DOCS/HTML/zh/video.html
                                                         cpu%
xwindow flag = SDL_SWSURFACE      10%
console   flag = SDL_SWSURFACE      55%     After set MTRR   30%
xwindow flag = SDL_HWSURFACE      20%
console   flag = SDL_HWSURFACE      99%     After set MTRR   20%
回复

使用道具 举报

 楼主| 发表于 2004-6-14 10:28:36 | 显示全部楼层
I found that at console mode may be use directfb will imporve performance too, but I still no how to use that, have any people can help me? Thanks.
I just know set the environment for directfb like this:
putenv("SDL_VIDEODRIVER=directfb");
and I had install directfb, but when I run it, had error like this:
Couldn't initialize SDL: No available video device
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 05:37 , Processed in 0.086061 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表