摘要: 问题 每次当你调用device. DrawUserPrimitives方法时,顶点都会从系统内存传递到显卡中。通常,大部分数据没有变化,这意味着每帧重复传递了相同的数据。今天的显卡有容量很大而且很快的显存,所以你可以将顶点数据存储在显存中加速程序。从显存中将顶点数据传递到显卡速度要快得多,因为这些数据只在同一板卡的不同芯片间传输。同样索引数据也能获得加速。 解决方案 通过创建顶点数组的Ver... 阅读全文
posted @ 2011-01-25 09:20 AlexCheng 阅读(657) 评论(0) 推荐(1)
摘要: 问题 你要绘制的三角形共享了很多顶点,如图5-7所示。 图5-7 可以从使用索引中受益的结构 如图5-7所示的八个三角形在使用TriangleList的情况下需要8*3 = 24个顶点,从这个图中可以看到实际上只有9个独立的顶点,所以其余15个顶点会浪费显卡的内存,带宽和处理能力。 解决方案 好的办法是将这9个独立顶点存储在数组中并将这个数组传递到显卡。然后创建一个包含24个数字的... 阅读全文
posted @ 2011-01-25 09:17 AlexCheng 阅读(518) 评论(0) 推荐(0)
摘要: 问题 你想绘制一个颜色漂亮的三角形并可以完全控制三角形上的颜色。 解决方案 你的显卡允许你指定一张图像,从这张图像可以采样想要的颜色。 这意味着你需要将一张2D图像导入到XNA项目中,并在绘制三角形之前将它传递到显卡。对每个顶点,你要指定2D图像的哪个位置对应顶点。 工作原理 首先将一张2D图像导入到项目中,如教程3-1所示。在LoadContent方法中将它链接到一个变量: myTexture... 阅读全文
posted @ 2011-01-25 09:07 AlexCheng 阅读(579) 评论(0) 推荐(0)