Hello everyone.
Has any of you used PIX? For those who don't know, it's a great tool for debugging and analysis the performance of Direct3D applications. It allows you to trace all calls to Direct3D library, together with the parameters, and allows you to browse, and even graphically show, your GPU's resources such as textures, vertex and index buffers, surfaces, and so on. While browsing the list of calls, you can select one, and see a preview of how did the rendering look like at a specific call.
Now, to the real point of my post. Out of curiosity, I've used PIX on Eve Online, traced a couple of frames and was stunned... How inoptimized Eve's Trinity Engine is. Beginning with Draw calls for objects that aren't visible on the screen, through repeating SetRenderStates, consecutively enabling and disabling particular RenderStates, calling SetTransform with the same parameters over and over, with no Draw calls in the meantime, and a lot more of similar stuff...
I mean - EVE looks great and all, and my intention wasn't to bitch about its engine, but I'm wondering - are all the commercial game engines unoptimized like this? Is this the result of building a high level engine with a feature bloat syndrome?
I would try PIX on Doom 3 Engine in Quake 4, or even on Oblivion, but I'm afraid these games eat up too much memory themselves, and they wouldn't leave much for the rest of the system. Has any of you tried PIX on other commercial engines? I'm curious about the results.
Cheers
PIX in Eve Online
Started by marcin.seredynski, Oct 16 2006 09:13 PM
8 replies to this topic
#1
Posted 16 October 2006 - 09:13 PM
#2
Posted 17 October 2006 - 12:38 PM
Doom 3 engine is using OpenGL ;)
#3
Posted 17 October 2006 - 01:23 PM
Michael said:
Doom 3 engine is using OpenGL ;)
Touché ;)
But you get the general idea, anyway ;)
#4
Posted 17 October 2006 - 01:27 PM
havent tried pix on anything really, but this seems like an interesting experiement. I'd try it but I just don't have any pc games, well, hardly any, and the ones (ie: the 2 that are in workable conditions) i do have are not installed... and well I can't bother.
- TripleBuffer
- Me blog
- Me blog
#5
Posted 17 October 2006 - 01:39 PM
How is PIX nowadays? I used it 2 years ago but it merely provided me with a call graph and some counters, which was better than nothing of course, but it's dogshit compared to PIX for xbox and xbox360
. Those capture the state of EVERY polygon and pixel drawn. You can click on a pixel in the framebuffer, and then it shows what polygons and respective shaders affected that pixel, and if you open up that shader you'll see the inputs and outputs of EVERY instruction in that shader. It really is graphics programmer's heaven
.
We use NVPerfHud for debugging our PC renderer, that's a cool tool too but obviously only for nVidia hardware (don't know if ATi has got something similar)
Btw, I don't know Eve that much, but does it really need a state of the art engine? I mean, it's space you're rendering, you won't be able to see many objects anyway so you don't have to cull that drastically.
We use NVPerfHud for debugging our PC renderer, that's a cool tool too but obviously only for nVidia hardware (don't know if ATi has got something similar)
Btw, I don't know Eve that much, but does it really need a state of the art engine? I mean, it's space you're rendering, you won't be able to see many objects anyway so you don't have to cull that drastically.
C++ addict
-
Currently working on: the 3D engine for Tomb Raider.
-
Currently working on: the 3D engine for Tomb Raider.
#6
Posted 17 October 2006 - 02:14 PM
.oisyn said:
<snip> ... PIX for xbox and xbox360 :). Those capture the state of EVERY polygon and pixel drawn. You can click on a pixel in the framebuffer, and then it shows what polygons and respective shaders affected that pixel, and if you open up that shader you'll see the inputs and outputs of EVERY instruction in that shader. It really is graphics programmer's heaven ;).
OMG. Programmer's heaven is a right thing to say :D. I haven't tried clicking on the framebuffer output, I'll check that when I get back from work. In PC version, you can click any call in the call tree and see what framebuffer looked like after that call (which isn't that bad either).
.oisyn said:
We use NVPerfHud for debugging our PC renderer, that's a cool tool too but obviously only for nVidia hardware (don't know if ATi has got something similar)
NVPerfHud - gotta give it a try.
.oisyn said:
Btw, I don't know Eve that much, but does it really need a state of the art engine? I mean, it's space you're rendering, you won't be able to see many objects anyway so you don't have to cull that drastically.
Ummm... Eve was awarded for the best MMORPG graphics a couple of years ago (seriously I don't see why). It has decent graphics, but it shows a bit of age now - the engine hasn't undergone any major changes for over 3 years, AFAIR. What does amaze me - EVE isn't using shaders, but a fixed-function pipeline, according to PIX output, at least on my graphics card. And now for the best part - I've got GeForce 7800 GTX, which supports SM 3.0. AFAIK EVE is supposed to use shaders in its engine (yep, I've browsed the EXE and looked for the calls it makes). Go figure.
I'll play with PIX a bit more today, try it out under more games, and share my findings.
#7
Posted 17 October 2006 - 04:19 PM
.oisyn said:
don't know if ATi has got something similar
ATI has created a pluging for PIX that will doll out a lot more info, and it is based on the Xbox pix: http://www.ati.com/d...ipix/index.html
Too bad I'm using OpenGL :sad:
"Stupid bug! You go squish now!!" - Homer Simpson
#8
Posted 17 October 2006 - 05:00 PM
Interesting! But after looking at that page it seems more than an extra set of counters (although very useful nontheless) than full vertex and pixel shader debugging.
C++ addict
-
Currently working on: the 3D engine for Tomb Raider.
-
Currently working on: the 3D engine for Tomb Raider.
#9
Posted 30 October 2006 - 11:38 PM
eVe doesn't use shaders. It is fixed function. They have talked about making a more advanced client when D3D10 is released.
I must say that, you can tell eVe isn't optimized by simply playing the game. No need for PIX. It just runs SLOOOWWWW... even on good hardware. (Like in 100v100 PvP fights, although some of that could be network latency).
Anyways, even though eVe has horrible graphics (the client is rather stable though, at least I never had problems with it) it's the best MMO ever.... (I don't have my account anymore though, I decided to cancel it because it was too addicting :/)
I must say that, you can tell eVe isn't optimized by simply playing the game. No need for PIX. It just runs SLOOOWWWW... even on good hardware. (Like in 100v100 PvP fights, although some of that could be network latency).
Anyways, even though eVe has horrible graphics (the client is rather stable though, at least I never had problems with it) it's the best MMO ever.... (I don't have my account anymore though, I decided to cancel it because it was too addicting :/)
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users












