【发布时间】:2010-02-17 17:06:26
【问题描述】:
首先,我正在编写一个游戏。目前在渲染函数中有两个对两个不同函数的调用。一个渲染一些文本,一个渲染精灵。
在我的电脑上(AMD Phenom(tm) II X4 955 处理器(4 个 CPU),~3.2GHz,4096MB RAM DDR2,NVIDIA GeForce GTX 285)当渲染大约 200 个精灵时,我的渲染速度约为 2200 FPS渲染约 14,500 帧时为 100 FPS。
我正在使用一个向量来存储我正在渲染的每个对象的信息,并使用一个带有许多绘制调用的精灵。
VS2008 发布模式,针对 C++ 进行了全面优化。我知道我听说左右不会过早优化,但在这一点上,它对我来说运行得很好,但在某些计算机上不是很好。
我无法想象为数组更改向量,因为我每帧都在以一种无法确定的方式从向量中推拉东西。几乎是随机的。
我试过浮动和双打,速度没有什么不同。
使用 DirectDraw 而不是 DirectX 和 Sprite Render 方法会有所不同吗?因为我不知道 DirectDraw 和 DirectX 之间的区别,所以我不是 100% 应该考虑的。
游戏在普通电脑上运行良好,但我将我的游戏与东方进行比较。东方在我试过的最弱的电脑上以 60 FPS 运行,但我的游戏运行速度不会超过 36~42 FPS。我无法想象我做错了什么,对 DirectX 和 C++ 如此陌生。
在这件事上的任何帮助都会很棒,很遗憾我不会有一段时间来添加信息或回答问题。
【问题讨论】:
标签: c++ optimization directx directdraw