I have tried to make 3D games before, and the first thing that makes me give up, it that it start becoming VERY VERY VERY sssslllllloooowwww. So my question is...What is the absolute most CPU efficient way to draw 3D.
Printable View
I have tried to make 3D games before, and the first thing that makes me give up, it that it start becoming VERY VERY VERY sssslllllloooowwww. So my question is...What is the absolute most CPU efficient way to draw 3D.
I don't really think that question can be definativly answered, but here are a couple of general rules:
-Use as few function calls as possible. Display lists, vertex arrays, and vertex buffers can all help with this.
-Don't draw what you can't see.
I have seen plenty of video games draw tons of detailed shapes and the computer runs it fine, but when I do that (yes, in a vertex array) it's slower than mallassos. Do these games make the processer work harder for them or somthing???
Either that or they use top of the range graphic librarys with direct x. Most proffestional companies have all the avaliable tools at there disposal.
Could be your implementation, or any number of other factors. Do you have any code to share as an example?
The only slowdown I've ever noticed is when I tried to pass over 350K triangles to my GeForce 3 64MB. Other than terrains and other objects that require lots of tri's, you should not have any issues.
I've had major slowdown problems doing stuff like combining lighting and antialiasing on like my school's crap computers. But uh, other than that, I really haven't had any problems either. Maybe you could cite something specific? Provide specs? I dunno.
Actually there're numerous ways to increase performance:
Games has a culling system which only renders viewable objects. Try a simple one like BSP. Check this link:
http://www.gamedev.net/reference/art...rticle1212.asp
There's a way of using a static 2D background objects (forgot the name of the method) instead of using pure 3D ones.
Also if you want, try some shader language like Cg. That will increase the performance alot.
Quite simply, don't use the CPU. That is what graphics cards are doing. They are offloading the burden of 3D calculations, rendering, and rasterizing to the GPU while the CPU performs more important tasks.Quote:
What is the absolute most CPU efficient way to draw 3D.