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