What's new

Z64 - a LLE graphics plugin

The Siskoo

Member
Skiskoo, thanks for the report, but did you notice any change in performance ? Have you tried to set the options "threaded" and "async" to 1 ?

Siskoo ^^

here the settings by default, I guess it's good !!!

# run RDP emulator in a separate thread
# REQUIRED with Pj64 1.6 and below (not with 1.7), or along with the "async" option
threaded = 1
# emulate RDP asynchronously, might be faster, needs "threaded = 1" option
# DOESN'T WORK YET (at all)
async = 1

Atm, no change with performance. More test tomorrow. :)

Same bug with PJ64 when you launch a game, end emulation and launch another game. PJ 64 close auto.
 

bgn

New member
I'm releasing an experimental version wich support asynchronous rdp emulation. It's not perfectly stable at the momnt, but under linux I notice a slight speedup (maybe between 10% and 20%, it's not completely obvious to measure)

I'd like to know if it improves things under win32, on mono and multi processors.

You need to make sure "threaded" and "async" are both set to 1 in the config file.
BIG THX, it works fine now, i tried "no_npot_fbos = 1"

btw:asynchronous rdp emulation is slower for me(about 8fps) normally about 10fps in same imo
 

mudlord

Banned
Thx, are any special requirements for this PlugIn?

AFAIK, you just need around a OGL 1.5 to 2.0 card, since the plugin uses GLSL a lot. Also, FBO support is needed.

Basically, it seems to use similar methods as Pete's OGL2 PSX plugin :)
 

The Siskoo

Member
Emulator : 1964 0.9.9
Plugins : Ziggy R15, Ziggy R16, Ziggy PJ64 r4

Eikou No Saint Andrews (J) --> this game crash on a black screen in game. Anyway, it seems with r16, there is a better VIs (slight better performance +2-3 VIs)
Heiwa Pachinko World (J) --> slight screen shaking.
NBA Hangtime (E) (U) --> with PJ64 RSP r4 (Recompiler), there is an error message : "8006AF7C : Exception in emulation thread". With PJ64 RSP r4 (Interpreter), the game works but it's slow.
Nintama Rantarou 64 Game Gallery (J) --> with r15, in game 20-21 VIs.With r16 in game 21-22-23 VI/s
 
Last edited:
OP
Z

ziggy

New member
Interesting, Siskoo if I remember you have a single processor, not a dual core ? It's fun then, you get some improvement, whereas bgn get worst result on a single processor as well.

Anyway, I'm pleased you notice a speed up even though you have a single processor. It proove that even on a single processor, emulating the rdp in a separate thread has an advantage. In fact, I'd expect the advantage get bigger as you increase the resolution. Basically, the VI shouldn't change in async mode when you increase resolution, whereas it should get worst in normal mode.

EDIT : the problem you reported in In-Fisherman should be gone in next release.
 

grand master

Emualtion Pimp
I've just tried it on my Dual Core (X2 4400+) and there is a definite speed increase. I tried Golden eye and it starts off with 60 fps and then drops down to 40, then back to 60. It drops down to 30 when bond appears in the gun's barrel.
In game it is slow at around 12 fps. I *think* this is slightly fast still.

Donkey kong is 60fps until the graphics come up and then it's around 27fps.

Mario Tennis is the same. most 60 until in game where it crawls at 12-20fps. One thing i did notice was that the scoreboard shows the names and the speed of the serve (nice!). F zeero crashes btw.

Anymore testing just let me know. I'm currently in exams but finish at the end of the week.
 

Gonetz

Plugin Developer (GlideN64)
Golden Eye has texture issue, check my screen shot, beginning of “frigate” level.
It’s caused by an error in your rglTriangle function. Sometimes w is negative. In case of negative w,
#define WSCALE(w) (RDP_GETOM_PERSP_TEX_EN(rdpState.otherModes)? (float(uint32_t(w) + 0x10000)/0xffff0000) : 1.0f)
does not work well. Precision issue may be. Besides, it will be more efficient to swap numerator and denominator to avoid division later. For example:
#define WSCALE(w) (RDP_GETOM_PERSP_TEX_EN(rdpState.otherModes)? 65536.0f/float((w+ 0x10000)>>16) : 1.0f)
vtx->w = WSCALE(w);
gives much better result on this level, although still a bit incorrect. I hope you will find better solution.
 

Gonetz

Plugin Developer (GlideN64)
Killer Instinct looks like this because of your tile7 fixes. KI uses tile7 actually.
 
OP
Z

ziggy

New member
Thanks for testing. Could you test with both "threaded" and "async" set to 0 and compare the speed ?

About Mario Tennis, there's been some improvement since R15. There are still some problems (this game uses a lot of framebuffer effects, some are still not completely right, for example the bombs on the side of the playing field aren't rendered right, except during replay, the shadow of the players is wrong too)

Thanks for the tips Gonetz, that sound quite promising , I'm going to try these. EDIT : do you have savestate for KI and Golden Eye ?
 
Last edited:

Gonetz

Plugin Developer (GlideN64)
Yes, I have PJ64 saves, but it's more easy to get there manually. For KI, it happens for any arena. For GE, enable all levels in cheats and select “frigate” level, the issue is just right in the begining.
 

The Siskoo

Member
Interesting, Siskoo if I remember you have a single processor, not a dual core ? It's fun then, you get some improvement, whereas bgn get worst result on a single processor as well.

Anyway, I'm pleased you notice a speed up even though you have a single processor. It proove that even on a single processor, emulating the rdp in a separate thread has an advantage. In fact, I'd expect the advantage get bigger as you increase the resolution. Basically, the VI shouldn't change in async mode when you increase resolution, whereas it should get worst in normal mode.

EDIT : the problem you reported in In-Fisherman should be gone in next release.
Yup, I have a single processor, here my specs :
Processor : Atlhon 64 3200
Memory : 1 Go DDR Corsair
GFX card : Sapphire X1950 Pro
Sound Card : Sound Blaster Audigy 2 ZS

bgn, could you give us the name of games you tested ?

Plus, I'm not confortable with all these technicals words. Could you explain to me what is exactly RDP ^^ ?

Telefoot Soccer --> screen shaking
WCW Nitro (U) --> gfx are messed (in game no problem). (pic 1 and 2)
WCW Mayem (E) (U) --> screen shaking
 
Last edited:

squall_leonhart

The Great Gunblade Wielder
hey Ziggy, remember that

# try to set this to 1 if the plugin crashes (necessary on geforce 5900 for example)
no_npot_fbos = 1

setting you added.

well, i just found that, in the extension viewer, on the main opengl page, it lists non_power_of_two as supported, but on the report tab, it doesn't.

so if you anyone needs a listing of what thier card supports, the realtech vr viewer has one.
 
OP
Z

ziggy

New member
I just released new revision 17, it's similar to R16 except it should fix problems introduced and reported by Siskoo (screen shaking and other regressions). The asynchronous RDP emulation is not turned on by default. To use it, set both "threaded" and "async" to 1 in z64gl.conf.

EDIT : to add I also added modifications suggested by Gonetz. I didn't test them very much though.

EDIT : Squall_leonhart, the problem with non power of two textures is as I explained already, there are some vendors (i.e. ATI) who do not advertise the feature but yet support it partially (which is enough for me). Because of that I can't rely on the extension being announced by the driver or not.
 
Last edited:

The Siskoo

Member
Emulator : 1964 0.9.9
Plugins : Ziggy R17, Ziggy RSP r17, Ziggy PJ64 r4

007 - The World is Not Enough (E) (M3) [!] --> GFX bugs, the green area (pic 1). Same bugs with 1964 0.9.9, mupen 0.5.1 and PJ 64 1.5.
1080 Snowboarding (E, U, J) --> slight screen shaking.
Eikou No Saint Andrews (J) --> this game displays a black screen in game.
In-Fisherman Bass Hunter 64 --> gfx messed - fixed.
Heiwa Pachinko World (J) --> slight screen shaking.
Indiana Jones and the Infernal Machine --> screen shaking : fixed.
Mortal Kombat 4 (E) and (U) [!] --> GFX messed.
Mortal Kombat Mythologies - Sub-Zero (E) [!] --> GFX messed.
MRC - Multi Racing Championship (E) [!] --> GFX messed (in-game).
Nushi Tsuri 64 - Shiokaze Ni Notte --> Screen shaking in-game.
Nushi Zuri 64 --> Screen shaking in-game.
Telefoot Soccer --> screen shaking : fixed.
WCW Nitro (U) --> gfx are messed (in game no problem).
WCW Mayem (E) (U) --> screen shaking : fixed.

Thanks for the release, here some tests. Nice fixes ^^

With PJ64 1.6, PJ close alone after pushing "End emulation".
 
Last edited:

PsyMan

Just Another Wacko ;)
Ehh... what ziggy tries to say is that the information provided by OGL Extension Viewer (and similar applications) does not always represent the capabilities of a card, especially when a card has partial support for a feature.

In short, don't rely on OGL Extension Viewer too much.
 

Top