博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DirectX 8 Graphics常见错误 (转)
阅读量:2512 次
发布时间:2019-05-11

本文共 1204 字,大约阅读时间需要 4 分钟。

DirectX 8 Graphics常见错误 (转)[@more@]    Graphics 常见错误(节选)
   Richard Huddy著, nVidia Corp.
   nightmare(qingrui li)译
**他们应该出现在初始化部分
  小心不要让耗时昂贵的 出现在 敏感部分
  - ValidateDevice()
  - CreateVB()
  - DestroyVB()
  - Optimize()
  - CreateStateBlock()
  - AssembleVertexShader()
**模版缓冲,在你不需要时……
  - 如果你只清除Z缓冲, 则不得不保留模版缓冲
  所以如果你用了模版缓冲,在清除Z缓冲时一同清除
  - 这意味着如果你不同时清除模版缓冲,Clear()会慢一些
  读写每一个像素
  - 不要用画矩形来清除缓冲
**去除冗余状态变化,谁的责任?
  - 得在PURE HAL上做此工作
  这样的驱动应是相当激进的
  - 运行库在非PURE HAL上作此工作
  但只能去掉简单的重复
  - 你的程序才是最佳的地方
**过多的改变Vertex Shader或Pixel Shader
  - 会迫使系统刷新状态
  - 这是实实在在得昂贵的状态变化,甚至比材质变化更昂贵
  - 所以确定你没有重复设定同一Shader
**DrawPrimitiveUP
  - 要我说多少次,用VertexBuffer
  (译者注:DrawPrimitiveUP会导致额外数据复制的开销,但简单程序用它会使程序简洁,权衡使用即可。)
**使用GDI绘文字
  - 会阻塞 的运行直到为完成的渲染完成
  - 应使用3D功能绘制文字,象D3DX那样
  - 如果你的文字不是动态的
  使用一个包含文字的材质贴图
**使用N-Patches
  - 我不推荐这样
  - 只是nVidia公司的意见
  但我们坚持此立场
  此技术有太多细节问题
  我们认为它只是表面上吸引人
**使用W-Buffer代替Z-Buffer?
  - 透视投影材质将不工作(在GeForce 1,2上)
  - 并且会无法关闭透视校正
  - CubeMap会失效(在GeForce 1,2上)
  - 若你在用VertexShader,你仍得设置投影矩阵
**Color Key
  - 使用Alpha测试,因为它更好
  Color Key在DX8中已不存在
  - 已不存在是对的,因为对于多重材质和双线性过滤ColorKey是变态的东西
**没有释放
  - 通常导致下一次创建出坏的设备对象
  - 使用 库
  - 记住清除前要解除选定材质

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-998424/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10748419/viewspace-998424/

你可能感兴趣的文章
iOS开发的一些奇巧淫技
查看>>
linux的挂载的问题,重启后就挂载就没有了
查看>>
docker原始镜像启动容器并创建Apache服务器实现反向代理
查看>>
docker容器秒死的解决办法
查看>>
管理网&业务网的一些笔记
查看>>
openstack报错解决一
查看>>
openstack报错解决二
查看>>
linux source命令
查看>>
openstack报错解决三
查看>>
乙未年年终总结
查看>>
子网掩码
查看>>
第一天上班没精神
查看>>
启动eclipse报错:Failed to load the JNI shared library
查看>>
eclipse安装插件的两种方式在线和离线
查看>>
linux下源的相关笔记(suse)
查看>>
linux系统分区文件系统划分札记
查看>>
Linux(SUSE 12)安装Tomcat
查看>>
Linux(SUSE 12)安装jboss4并实现远程访问
查看>>
Neutron在给虚拟机分配网络时,底层是如何实现的?
查看>>
netfilter/iptables全攻略
查看>>