|
|
|||||||
| About Us | Register | FAQ | Members List | Calendar | Mark Forums Read |
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Diehard 3Dfx Fanboy!
![]() ![]() ![]() ![]() Join Date: Aug 2001
Location: Kicking Kuja's ass, all with the power of 3Dfx!!
Posts: 544
|
Curious OpenGL performance.......
Ok, whenever I've tried using Pete's OpenGL plugin on my Voodoo3 (just for the heck of it), I've noticed it's really slow in comparison to his D3D plugin and Lewpy's Glide. I'm talking like framerates of less than 20 here! Oh, yeah, this is using ePSXe 1.5.2 with ePSxe Executor (whatever's the current version of that.)
Now, judging from that, you'd think that my Voodoo3 isn't as adept at running in OpenGL than in the other API's, right? Here's where things start getting odd. Normal PC games, like Return to Castle Wolfenstien and Star Trek Voyager: Elite Force, with are OpenGL only, run at practically full speed with all the texture settings maxed out at 800x600. All of these tests were done on my 1.5Ghz P4 with 256mb of DDR-RAM. So, my question is, why is it that OpenGL is so slow when doing PSX emulation, as opposed to the excellent performance I'm getting with normal PC OpenGL games?
__________________
A 233Mhz CPU. Its not just slow, its a CURSE!! |
|
|
|
|
|
#2 (permalink) |
|
Flood Yourself
![]() ![]() ![]() ![]() ![]() Join Date: Aug 2001
Location: Adelaide, Australia
Posts: 1,342
|
I dunno really. From previous experience Voodoo's tended to be a little narky when it comes to OpenGL apps, in that they either performed brilliantly or horribly. Also, and correct me if I'm wrong, but those games you listed above all use tweaked versions of the Quake 3 engine, which I think is 3DFX optimized.
|
|
|
|
|
|
#3 (permalink) |
|
Administrator, PCSX2 tester
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Aug 2001
Location: India
Posts: 683
|
Opengl plugins for epsxe are highly optimized to be used with native opengl supporting cards while most of the pc games arent.For example my 810 runs quake 3 fine but still has problems with pete's opengl.
Anyway with a voodoo lewpy's glide plugins should be the first preference while d3d plugins the second one.
__________________
E6750, Abit ip35E, XFX 8600GT 256 MB DDR3, Transcend 2GB DDR2 800 RAM |
|
|
|
|
|
#4 (permalink) | |
|
Diehard 3Dfx Fanboy!
![]() ![]() ![]() ![]() Join Date: Aug 2001
Location: Kicking Kuja's ass, all with the power of 3Dfx!!
Posts: 544
|
Quote:
__________________
A 233Mhz CPU. Its not just slow, its a CURSE!! |
|
|
|
|
|
|
#5 (permalink) |
|
FREAK
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2001
Location: Germany
Posts: 874
|
harhar... I could tell you a few stories about discussions between me and a 3dfx OpenGL driver coder... something like that:
Pete: why is packed pixel 4-4-4-4 texture uploading so slow in OGL on 3DFX cards? That format should be nicely supported by your hardware (and your driver is reporting by ogl extension that it should work fine)? Driver Guy: oh, well, we convert all the texture data in float values first, and convert that down to the asked texture format. Pete: You convert already nice packed data??? Doesn't sound like a good idea for getting speed to me... and speed is one of the most important reasons for packed texture data... Driver Guy: Simply upload all your texture data at the beginning of the game level, then the user will have no speed issues Pete: uploading at level start... harhar... great idea with psx emulation... |
|
|
|
|
|
#6 (permalink) |
|
Deep Dish Pie!
![]() ![]() ![]() ![]() Join Date: May 2002
Location: You know...you guys need to put a limit here just in case someone keeps going on and on about where they live or something stupid like how this space has no limit.
Posts: 608
|
actually I would think it is a good idea considering the fact that the PSX hardware was already pretty much forced to do so...right? It's because of the cache limitation.... or should that be all the more reason why it should reload all the cache? I think this is beyond me...
|
|
|
|
|
|
#7 (permalink) |
|
Emu author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Posts: 361
|
LOL Pete, thats cool
![]() But i personally don't trust that someone can be lazy or stupud enough to convert pixels into float values ![]() ![]() ![]() OmniDistortion. PSX games are no PC games. they are desighned to use ****ty PSX hardware to its limit. And ways they are using to reach that limit are quite hard even for latest PC 3D accelerators whose drivers are desighned by lazy programmers for even more lazy programmers. They have bugs, they are slow, they are.. well, I think you got my idea. You know on PC there is always Microsoft standing between you and your videocard. |
|
|
|
|
|
#8 (permalink) | |
|
I code therefore I am.
![]() ![]() ![]() Join Date: Jul 2001
Location: I live therefore it's enough.
Posts: 412
|
Quote:
![]() Cyb |
|
|
|
|
|
|
#9 (permalink) |
|
Diehard 3Dfx Fanboy!
![]() ![]() ![]() ![]() Join Date: Aug 2001
Location: Kicking Kuja's ass, all with the power of 3Dfx!!
Posts: 544
|
So, Pete, would selecting a texture format different than 4-4-4-4 give me any speed increases? Theoretically speaking here.
And like I said, I'm only trying out the OpenGL plugin just for the heck of it, 'cause I've got nothing else to do, and I just got a relatively newer driver for the card, so I'm giving it a stress test, in a sense.
__________________
A 233Mhz CPU. Its not just slow, its a CURSE!! |
|
|
|
|
|
#10 (permalink) | |
|
I code therefore I am.
![]() ![]() ![]() Join Date: Jul 2001
Location: I live therefore it's enough.
Posts: 412
|
Quote:
Cyb |
|
|
|
|
|
|
#11 (permalink) | |||
|
FREAK
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2001
Location: Germany
Posts: 874
|
Quote:
Quote:
Quote:
)And the 3dfx miniGL is just a sub-set of OpenGL, only designed and optimized for the Quake engine (and therefore not really usable with other OpenGL apps/games). |
|||
|
|
|
|
|
#12 (permalink) |
|
Diehard 3Dfx Fanboy!
![]() ![]() ![]() ![]() Join Date: Aug 2001
Location: Kicking Kuja's ass, all with the power of 3Dfx!!
Posts: 544
|
Hey, speaking of texture formats, would using any sort of texture compression give any speed increases in PSX emulation?
Obviously, the compression techniques that cards use when the textures are pre-compressed wouldn't apply here, but I'm talking about compression that gfx cards can do internally with normal textures.
__________________
A 233Mhz CPU. Its not just slow, its a CURSE!! |
|
|
|
|
|
#15 (permalink) |
|
Emu author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Posts: 361
|
And really, why you need to compress cached textures if original PSX video memory was only 1 meg? In worsest for Pete's plugin case(w/o 2xSAI) you will need something like 8 Mb of texture memory. For old palettized versions and for some other plugins you need no more than 2-4 megs.(Hope I right here,Pete) And you prolly have that. I've already seen slowdown to 0.2 FPS when FF9 character turns another 10 degrees caused by slow upload speed. If you've seen this thread you could understand already that main problem in emulating PSX GPU on modern cards is slow upload speed caused by stupid texture conversion/compression. Why ask again? Imo good 3D card should have 8 Mb of fast memory for texture caching, really working AGP texturing and hardware color conversion for all major texture formats(well and some other things i not going to list here). Not monster with 64 Mb of slow memory. I even suppose that texture uploading is made slow by intention, to make game programmers avoid texture swapping and as a result make gamers buy new videocard to increase texture quality.
Last edited by E}I{; August 7th, 2002 at 22:43. |
|
|
|
|
|
#16 (permalink) |
|
Diehard 3Dfx Fanboy!
![]() ![]() ![]() ![]() Join Date: Aug 2001
Location: Kicking Kuja's ass, all with the power of 3Dfx!!
Posts: 544
|
I was thinking more along the lines of it having to decrease the time in which the game would be "stalling" while its waiting to retrieve info from the CD. Wait a minute....that's flawed logic. The only way it would decrease load times from CD is if they were pre-compressed.
Anyway, another thing it _may_ help on is on any PSX games that have LOTS of textures. And as for the amount of VRAM I've got, its a mere 16mb of SDRAM.
__________________
A 233Mhz CPU. Its not just slow, its a CURSE!! |
|
|
|
|
|
#17 (permalink) |
|
Emu author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Posts: 361
|
If PSX games use MANY textures, they do MANY uploads, because 1 meg (really almost half of it occupied by image you see on your screen) cann't hold MANY textures at once. And no matter how much videomemory your card have, it will be updated frequently. Speed of updates, not memory size will limit emu speed. And reasons for this slowness were already discussed. Oh. Hope that will be enough.
|
|
|
|
|
|
#19 (permalink) |
|
FREAK
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2001
Location: Germany
Posts: 874
|
E}I{, I am sorry, but 8 MB will be often too less for my kind of texture caching... 32 MB to 64 MB will be optimal. Why? Easy: because of the 4/8bit pal psx textures. Many games like Spyro are reusing the same texture area with lotta different color-lookup tables. To upload that texture part each time the CLUT is changing would give a lotta slowdowns... so I have to cache the same texture part multiple times... and, for example, a single texture part of 64x64 texel, reused a 100 times with different cluts, can easily need 1-2 MByte vram on the pc gfx card... and that's just one texture area...
|
|
|
|
|
|
#20 (permalink) |
|
Emu author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Posts: 361
|
Well, IMO if texture uploading could have more or less normal speed and your plugin uploaded only that is actually needed, then you could allow realtime uploading of all these textures w/o slowdowns. Really copying 0.5-1 Meg of data each frame is not much, if everything else is done by hardware and this 1 meg is not undergoing super smart
texture conversion (well, in my plugin it takes only 10-20 clocks per pixel depending on format and when not all data in CPU cache)
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|