大哥,你知道什么叫内存交换技术不?地图大就一定要全部载入内存中么?
* ]* h6 x; r2 s6 i0 c, N8 ^
( r6 |. s% @6 s6 L0 U好的内存管理技术应该只是载入你当前所在区域到内存中,然后根据你位置的变化动态的载入其他地域的地图到内存中,并释放以前所在区域占用的内存,由此保证内存使用量保持在一个不太高的水平,这样就可以实现在超大地图中任意移动但是无停顿的加载。& H Z& g5 m0 e. `8 V; @
0 s) s) Y. l7 D7 P; D1 B6 ?6 D3DMAX就是由于把整个模型都加载到了内存里所以才吃内存的,但那是3DMAX!游戏不必这样!
$ W. ~: g; t' K+ x; E) s! J3 l3 c" e+ C$ |% @7 X |
还有,内存占用的多少跟用DirectX或者OpenGL没有必然联系!关键是开发人员对内存的使用方式!! m. o& X- a, f5 p
至于你说的“制作过程用OpenGL,运行用D3D”这个真的要把人大牙笑掉。D3D和OpenGL的函数都不一样,怎么可能出现“用OpenGL开发的游戏,用D3D来运行”。你这样说就相当于“用C语言写的程序可以在Basic环境下运行”一样可笑。: R0 S, @. H) ]" m4 A* q6 L
) R& P: j8 s7 ~8 s
在这个论坛上真的不该来争论这样的问题,打搅了这里清静的环境,罪过啊,罪过! |