2.5M显存怎么流畅看DivX呢?这样一个非常苛刻的问题在PChome软件应用论坛上被提出之后立刻引起了广大潜水高手的换气行动。经过激烈的讨论之后,终于产生了一个完美的解决方案。
能流畅的观看吗?
2.5M显存怎么流畅看DivX呢?这样一个非常苛刻的问题在PChome软件应用论坛上被提出之后立刻引起了广大潜水高手的换气行动。经过激烈的讨论之后,终于产生了一个完美的解决方案。
机器系统配置:
CPU:PII366
内存:128M
如果你在网上或者从朋友那里得到一些700M左右大小.avi文件,而你的视频播放器却无法播放,或者是只有声音而无图像,那就意味着这些.avi文件是用DivX或者Xvid编码压缩制作的,你没有安装相应的解码器,所以无法观看了。
问题是安装了解码器的,就是显存只有2.5M,能做到流畅观看DivX吗?
大家都知道DivX的能看wmv的流媒体,avi的DivX3设置好了也还可以。那avi的DivX,怎么设置呢?
根据一些读者的测试,PII 266,内存192M的机器,系统是Windows 200 pro,安装Media Player 9后,安装相关的插件,去掉所有不需要的服务,可以很流畅的看DivX编码的电影,挂字幕也行。Windows 98下不挂字幕好一点,挂字幕就有点卡。
正解如下:
把分辨率设定为800x600,640x480也可。为什么这样做呢?因为2.5M内存太少,不够DirectShow的buffer工作,也就是得不到directx的加速,如果用ffdshow别忘了打开codec中的硬件加速通常都叫做use overlay mix。
这样设定下就可以了。不过rmvb是看不成了,算法还要复杂,消耗CPU更多。
还有1024x768分辨率是无法使得DirectShow正常工作于2.5m内存下,800x600就可以了,毕竟像素少多了。消耗显存也少多了,也有足够的剩余内存做buffer,可以使得directx不断作后台前台的交换。
欢迎大家继续讨论
掌握一些知识
理解DirectX
DirectX是一个用于多媒体应用程序和硬件增强的编程环境,它是微软为了将其Windows建设成适应各种多媒体的最好平台而开发设计的。DirectX目前已经成为微软自身SDK的一部分,而Windows 98/Windows 2000内则集成了DirectX,表明它已成为操作系统的一部分。
DirectX技术是一种API(应用程序接口),每个DirectX部件都是用户可调用的API的总和,通过它应用程序可以直接访问计算机的硬件。这样,应用程序就可以利用硬件加速器(Hardware Accelerator)。如果硬件加速器不能使用,DirectX还可以仿真加速器以提供强大的多媒体环境。
为了理解DirectX,我们可以把系统分为四层:
●硬件/网络层:放置有多媒体设备,包括图形加速器、声卡、输入设备以及网络通信设备等;
●DirectX基础层:为图像、声音和设备提供多媒体基本服务;
●DirectX媒体层:为动画制作、音频和视频等提供API功能;
●组件层:包括ActiveX控制和应用,它利用DirectX的API功能的优势为用户提供多媒体服务。
DirectShow就是建立在DirectX媒体层之上的技术,其前身是ActiveMovie2.0。它以一组API函数或ActiveX控件出现,用途是让开发者能够在网络上传递高质量的音频和视频信号。值得一提的是,DirectShow为我们提供了一个开放式的开发环境,我们可以根据自己的需要定制组件。
DirectShow技术结构
DirectShow定义了如何利用标准组件来处理流媒体数据,这些组件称为过滤器。过滤器带有输入、输出针角(pin),或二者兼而有之。在DirectShow技术中处于最核心位置的就是作为"过滤器"的可插入标准组件,它是执行特定任务的COM对象。过滤器又可被细分为源过滤器(Source filter)、变换过滤器(Transform filter)、表现过滤器(Renderer filter)等。过滤器通过向文件读写、修改数据和显示数据到输出设备上来操作流媒体。为了完成整个任务,必须要将所有的过滤器Filter连接起来,这三种过滤器组成了过滤器图表结构。
Xvid的效果,看他的脸上有多少豆豆

网友评论