Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #781  
Old 22nd May 2014, 09:59 PM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 1,972
Default

OMG I can't compile anything! I tried 2.1, rsp, etc. Nothin works. So I got bored and decided to compile your rsp plugin with msvc just for kicks. You will laugh at these results.

Code:
MSVC
RSP Vector Benchmarks Log

VMULF  :  1.676 s
VMACF  :  2.641 s
VMULU  :  1.590 s
VMACU  :  2.996 s
VMUDL  :  0.620 s
VMADL  :  2.628 s
VMUDM  :  1.011 s
VMADM  :  2.392 s
VMUDN  :  0.964 s
VMADN  :  2.946 s
VMUDH  :  1.871 s
VMADH  :  2.275 s
VADD   :  1.360 s
VSUB   :  1.351 s
VABS   :  1.250 s
VADDC  :  0.829 s
VSUBC  :  1.094 s
VSAW   :  0.157 s
VEQ    :  0.758 s
VNE    :  0.760 s
VLT    :  1.203 s
VGE    :  1.210 s
VCH    :  2.417 s
VCL    :  2.385 s
VCR    :  1.216 s
VMRG   :  0.714 s
VAND   :  0.607 s
VNAND  :  0.618 s
VOR    :  0.610 s
VNOR   :  0.627 s
VXOR   :  0.609 s
VNXOR  :  0.623 s
VRCPL  :  0.594 s
VRSQL  :  0.915 s
VRCPH  :  0.340 s
VRSQH  :  0.335 s
VMOV   :  0.344 s
VNOP   :  0.051 s
Total time spent:  46.587 s
Code:
Your original SSE2 build
RSP Vector Benchmarks Log

VMULF  :  0.355 s
VMACF  :  0.452 s
VMULU  :  0.428 s
VMACU  :  0.471 s
VMUDL  :  0.277 s
VMADL  :  0.449 s
VMUDM  :  0.314 s
VMADM  :  0.420 s
VMUDN  :  0.280 s
VMADN  :  0.446 s
VMUDH  :  0.241 s
VMADH  :  0.343 s
VADD   :  0.245 s
VSUB   :  0.290 s
VABS   :  0.345 s
VADDC  :  0.235 s
VSUBC  :  0.259 s
VSAW   :  0.180 s
VEQ    :  0.335 s
VNE    :  0.354 s
VLT    :  0.379 s
VGE    :  0.398 s
VCH    :  0.662 s
VCL    :  0.868 s
VCR    :  0.491 s
VMRG   :  0.142 s
VAND   :  0.118 s
VNAND  :  0.118 s
VOR    :  0.120 s
VNOR   :  0.121 s
VXOR   :  0.117 s
VNXOR  :  0.121 s
VRCPL  :  0.499 s
VRSQL  :  0.659 s
VRCPH  :  0.170 s
VRSQH  :  0.173 s
VMOV   :  0.219 s
VNOP   :  0.060 s
Total time spent:  12.154 s
To be fair, maybe the compiler messed with the timing, but there was a significant slowdown in game. I was getting around 26VI/s with your sse2 build, with MSVC I'm getting 16 lol.. Another strange thing was, i couldn't even load the plugin on my current 1.6 build or the original. I had to use an old intel build (dunno why it works on this one and not the others).

If someone could help me with compiling 2.1's source, I'd appreciate it. I want to at least try fixing the debugger, among other small things. Perhaps it can replace Nemu , although I must say Nemu has a really good sound plugin. My only complaint is that I think it makes you go below 60fps cuz of sync audio. If only it at least worked for pj64 & other emulators... It's the only sound plugin I've heard that plays SSB64's intro flawlessly.
Reply With Quote
  #782  
Old 22nd May 2014, 10:24 PM
mudlord_ mudlord_ is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Dec 2012
Posts: 383
Default

Quote:
What the hell is fistp? Can't any of these FP mnemonics not be sexual
Float to integer. Then, there is a additional opcode for setting the rounding mode.

Serious question tho: Know any games that use the PREV combiner mode, for getting input from previous pixels, apart from Monster Truck Madness 64 of course?
Reply With Quote
  #783  
Old 23rd May 2014, 05:35 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,239
Default

Just start off using GCC, and follow the directions! I almost purposely wrote this thing to not be compiled on MSVC at one point. If you don't follow my build instructions then of course it won't compile.

hax, is this an HLE question? Because I don't remember or see anything about "prev" in the SETCOMBINE command.
Reply With Quote
  #784  
Old 23rd May 2014, 12:29 PM
mudlord_ mudlord_ is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Dec 2012
Posts: 383
Default

Quote:
hax, is this an HLE question? Because I don't remember or see anything about "prev" in the SETCOMBINE command.
I think its a LLE question as I remember a comment by angrylion saying that sometimes content in previous pixels is used when blending/combining or something along those lines.

Because, I was wondering, if shunshit wanted to make "his" plugin faster, why not then go all out on inaccuracy and shed more things for the sake of speed?
Reply With Quote
  #785  
Old 23rd May 2014, 12:51 PM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 1,972
Default

Quote:
Originally Posted by haxatax View Post
Because, I was wondering, if shunshit wanted to make "his" plugin faster, why not then go all out on inaccuracy and shed more things for the sake of speed?
Probably because he doesn't know what he is doing. HatCat's plugin is already faster (at least from the few tests I've done).

I'm curious about doing game specific hacks in emulators / plugins. I noticed Jabo D3D8 1.6 seems to use game hacks, because if I changed the crc of SSB64 (U), I got these black scanlines in VS mode. If I play (J) version, I always see those black scanlines. If I make (J)'s crc = (U) version's crc, the scanline problem goes away. That's kinda unfortunate that in order to a not see the scanlines, you have to use a fake crc and bypass the crc check in the game (which gives messagebox errors on most emulators, but it still works).
So my question is, is there a another good way to identify games, rather than using crc?
Reply With Quote
  #786  
Old 23rd May 2014, 01:05 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,239
Default

Jabo's plugins read from Project64.rdb for game settings, as they are (or were) components of the Project64 package.

The Project64 INI-based section headers identify a game using the 2 32-bit CRCs stored in the 64-byte ROM header, followed by the 8-bit country code. Personally I insisted that games should be recognized based on the 2-character game ID field. ROM hacks or bad dumps do not pose significant changes over the kinds of properties the hacky RDB file is supposed to amend. zilmar told me once over IM that "the rdb file screams of piracy". I think it's just the consequence of amending problems of different types with HLE.
Reply With Quote
  #787  
Old 23rd May 2014, 01:40 PM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 1,972
Default

That issue with Jabo 1.6 sure is confusing lol. I already had the J version configured in the rdb.

Even if I'm not able to fix that issue with the rdb, I could always just use a different gfx plugin since I couldn't be bothered to hack the J versions CRC and deal with those annoying messageboxes everytime I boot up the game. I'm considering looking at other open source gfx plugins and optimizing them and possibly fixing a few flaws too. I'm looking into learning how hle stuff works. The main things holding me back are API's and time lol. So much work needs to be done. Now that I see how good your gfx plugin looks at the game's original resolution, I kinda want to see that blit issue fixed . One problem I have with API's is not knowing which one to use lol. For sound i already know Xaudio2 since the answer was unanimous, but gfx is a different story.
Reply With Quote
  #788  
Old 23rd May 2014, 02:20 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,239
Default

Like I said if you're bad at APIs about as much as I am, use SDL. In fact SDL lets you instantly switch which API you want to use by modifying one of its environment variables...it defaults to X11 on Linux I think. You could change this.

I wouldn't use XAudio2 for sound since it's not portable, but if you only care about a Windows solution then Xaudio probably is your bet.
Reply With Quote
  #789  
Old 23rd May 2014, 02:34 PM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 1,972
Default

It's not that I'm bad, but rather have a hard time deciding between OpenGL, D3d, and DDraw. Also time will be an issue since I have too many goals lol. It sucks being busy & indecisive. I need to narrow things down. One interesting thing I've read is, using multiple API's simultaneously.

My primary focus will be performance over portability. Later on, I could always port code to different API's or better yet, have someone else do it . That's even assuming I make something actually worth using.

Maybe when I decide to mess with input stuff, I'll use SDL for that.

So I've been messing around with Zilmar's audio. It seems that increasing the buffer, adds delay and decreasing the buffer messes up the sound. I did notice an interesting option in Nemu's sound plugin, called prebuffering. I wonder how that works.
Reply With Quote
  #790  
Old 23rd May 2014, 02:39 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,239
Default

Quote:
Originally Posted by RPGMaster View Post
So I've been messing around with Zilmar's audio. It seems that increasing the buffer, adds delay and decreasing the buffer messes up the sound. I did notice an interesting option in Nemu's sound plugin, called prebuffering. I wonder how that works.
I'm not too experienced with audio, but I think that what you're describing sounds like prebuffering.

The larger you make the sound buffer, the more audio samples that play straight before the entire buffer has finished executing.

The smaller you make the sound buffer, the fewer audio samples playing consecutively until the end of the sound buffer.

Surely that what you're observing makes sense from a logical perspective, right? When you make the buffer big, the sound quality is good for large chunks of audio, but with lagging/delay in between the buffers. When you make the buffer small, the sound buffers are more linearly timed, but you hear the lapses in between them more frequently, as a greater number of sound buffers within a given unit of time have just elapsed (or something to that effect).

I remember by upgrading to DirectSound9.0 (but with most features basically just DirectSound8 initialized to that version), I had already greatly improved the sound quality of zilmar's basic audio plugin. But I never played around with audio for very long until I got addicted with RSP interpreter development.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 10:55 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.