DirectX 8 Graphics常见错误

                  DirectX Graphics 常见错误(节选)
                               Richard Huddy著, nVidia Corp.
                               nightmare(qingrui li)译
**他们应该出现在初始化部分
  小心不要让耗时昂贵的API调用出现在效率敏感部分
  - ValidateDevice()
  - CreateVB()
  - DestroyVB()
  - Optimize()
  - CreateStateBlock()
  - AssembleVertexShader()
**模版缓冲,在你不需要时……
  - 如果你只清除Z缓冲,系统则不得不保留模版缓冲
    所以如果你用了模版缓冲,在清除Z缓冲时一同清除
  - 这意味着如果你不同时清除模版缓冲,Clear()会慢一些
    读写每一个像素
  - 不要用画矩形来清除缓冲
**去除冗余状态变化,谁的责任?
  - 驱动程序得在PURE HAL上做此工作
    这样的驱动应是相当激进的
  - 运行库在非PURE HAL上作此工作
    但只能去掉简单的重复
  - 你的程序才是最佳的地方
**过多的改变Vertex Shader或Pixel Shader
  - 会迫使系统刷新状态
  - 这是实实在在得昂贵的状态变化,甚至比材质变化更昂贵
  - 所以确定你没有重复设定同一Shader
**DrawPrimitiveUP
  - 要我说多少次,用VertexBuffer
  (译者注:DrawPrimitiveUP会导致额外数据复制的开销,但简单程序用它会使程序简洁,权衡使用即可。)
**使用GDI绘文字
  - 会阻塞CPU的运行直到为完成的渲染完成
  - 应使用3D功能绘制文字,象D3DX那样
  - 如果你的文字不是动态的
    使用一个包含文字的材质贴图
**使用N-Patches
  - 我不推荐这样
  - 只是nVidia公司的意见
    但我们坚持此立场
    此技术有太多细节问题
    我们认为它只是表面上吸引人
**使用W-Buffer代替Z-Buffer?
  - 透视投影材质将不工作(在GeForce 1,2上)
  - 并且会无法关闭透视校正
  - CubeMap会失效(在GeForce 1,2上)
  - 若你在用VertexShader,你仍得设置投影矩阵
**Color Key
  - 使用Alpha测试,因为它更好
    Color Key在DX8中已不存在
  - 已不存在是对的,因为对于多重材质和双线性过滤ColorKey是变态的东西
**没有释放对象
  - 通常导致下一次创建出坏的设备对象
  - 使用调试库
  - 记住清除前要解除选定材质
阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DirectX Media 8是一个多媒体编程接口,它由微软公司开发并发布。它是DirectX技术的一部分,主要用于开发和处理多媒体应用程序和游戏。 DirectX Media 8具有多媒体播放、音频和视频编码、音频和视频捕捉、音频和视频压缩解压缩等功能。它包含了一系列的接口和库,使开发者可以在应用程序中处理和管理各种多媒体资源。 通过DirectX Media 8,开发者可以轻松地实现多媒体播放功能。它提供了用于播放音频和视频文件的接口和库,支持各种常见的音频和视频格式。开发者只需简单调用相关接口,就可以实现多种多媒体文件的播放,并实现一些基本的播放控制操作。 此外,DirectX Media 8还提供了音频和视频编码功能,开发者可以使用它来进行音频和视频的编码和压缩。这在开发需要传输大量音频和视频数据的应用程序中非常有用,可以有效地减小数据量,提高传输速度和效率。 另外,DirectX Media 8还支持音频和视频的捕捉功能,开发者可以使用它来获取音频和视频流,并进行后续的处理。这对于开发一些需要采集音频和视频数据的应用程序很有帮助,比如实时音视频通信应用程序或者视频监控应用程序等。 总而言之,DirectX Media 8是一个强大的多媒体编程接口,它提供了丰富的功能和接口,方便开发者进行多媒体应用程序和游戏的开发和处理。它可以方便地实现多媒体文件的播放、音频和视频的编码和解码、捕捉以及压缩解压缩等功能,为多媒体开发者提供了很大的便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nightmare

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值