Author Topic: SSE Builds?  (Read 2644 times)

0 Members and 1 Guest are viewing this topic.

Offline Sushi

  • Art Critic
  • 211
Hi,

Just looking for clarification on the SSE build configurations (for Visual Studio SCP Projects).

1. These improve OpenGL support, right? Do they make it faster, add options for prettier, or both?
2. Why would you possibly want to choose "Release" instead of "Release SSE2?" Likewise, why would you ever want to do "Release SSE" instead of "Release SSE2?"
3. Are the builds listed in the 3.6.10 RC release threads built using just "release," or is one of the SSE options included?

Thanks!

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
The RC builds are built using VC6 which as far as I know doesn't have SSE2 options in the project files anyway.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Also, not everyone can run on hardware that supports SSE/SSE2.  This is an old game remember.  Phreak just added those options in a while back to mess around them and see how well they work, they're not really supported build configurations right now.  And karajorma is right, the VC6 profiles have no SSE options (doubt that's an option at all with VC6) and so they're more similar to the vanilla Release from VC2008.  I've heard there are issues with them as well, so I doubt they'd be a good candidate for general use right now.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline Zacam

  • Magnificent Bastard
  • Administrator
  • 211
  • I go Sledge-O-Matic on Spammers
    • Steam
    • Twitter
    • ModDB Feature
VC08 Project Files has the SSE/SSE2 builds options.

_MOST_ people wanting to play the MediaVP's _should_ have at least SSE. Only those using FSO to play Retail might not have it.
If it is a Intel Pentium 3 or Athlon XP, it supports SSE.

CPUs supporting SSE2

    * AMD K8-based CPUs (Athlon 64, Sempron 64, Turion 64, etc) (Means Opteron as well)
    * AMD Phenom CPUs
    * Intel NetBurst-based CPUs (Pentium 4, Xeon, Celeron, Celeron D, etc)
    * Intel Pentium M and Celeron M
    * Intel Core-based CPUs (Core Duo, Core Solo, etc)
    * Intel Core 2-based CPUs (Core 2 Duo, Core 2 Quad, etc)
    * Intel Atom
    * Transmeta Efficeon
    * VIA C7
    * VIA Nano

I notice a few significant differences when running an SSE/SSE2 build, though veritably minuscule and indiscernible by eye differences between SSE vs. SSE2. If there was an option to compile Debug builds with SSE/SSE2, I'd be one happy camper.

And why, if I may, are the RC's built with VC06? Is it for compatibility purposes?
Report MediaVP issues, now on the MediaVP Mantis! Read all about it Here!
Talk with the community on Discord
"If you can keep a level head in all this confusion, you just don't understand the situation"

¤[D+¬>

[08/01 16:53:11] <sigtau> EveningTea: I have decided that I am a 32-bit registerkin.  Pronouns are eax, ebx, ecx, edx.
[08/01 16:53:31] <EveningTea> dhauidahh
[08/01 16:53:32] <EveningTea> sak
[08/01 16:53:40] * EveningTea froths at the mouth
[08/01 16:53:40] <sigtau> i broke him, boys

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Speech SDK 5.1 won't work with newer VC++ compilers, better error reporting (something about COFF, kara knows more about that than I do), among some other things I think.  Like I said though, I didn't know if the SSE builds required it or just used it if it was present.  If they require it we can't make those the only builds, we'd have to offer yet another set.  Starts to be a pain after a while, all these builds floating around.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
If you look at the error report from one of my builds it will look quite different from the RC2 ones. The RC2 ones name the functions that were called. For instance look at this RC2 error report

Code: [Select]
Warning: Null vec3d in vec3d normalize.
Trace out of vecmat.cpp and find offending code.

File: VecMat.cpp
Line: 812


Call stack:
------------------------------------------------------------------
    vm_vec_normalize()    radar_plot_object_orb()    obj_move_all_post()    obj_move_all()    game_simulation_frame()    game_frame()    game_do_frame()    game_do_state()    gameseq_process_events()    game_main()    WinMain()    WinMainCRTStartup()    kernel32.dll 7c817067()
------------------------------------------------------------------[/quote]


It gives me information on the entire call stack. Although I may not know where the bad value came from exactly I might be able to spot it simply by looking at those functions.

In the case of a VC2008 build, all I'll get is a series of memory addresses instead of function names. I'd then have to compare those against the map file (assuming I still even had it) in order to determine which function the error came from. I'd then have to repeat that if I wanted to figure out which function was above it in the stack.

Basically it's a needless and annoying chore which is caused by Microsoft dropping support for COFF based debugging in later compilers in favour of their own proprietary one. In order to do the same thing on VC2008 we'd probably have to re-write large sections of windebug.cpp to us the newer system.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Zacam

  • Magnificent Bastard
  • Administrator
  • 211
  • I go Sledge-O-Matic on Spammers
    • Steam
    • Twitter
    • ModDB Feature
Well crap. What (if anybody knows) borked the SDK in post-06 compilers, and will earlier SDK's fix it without breaking things in different ways? Could post-06 project files be adapted to using 5.1?

I'm pretty sure SSE/SSE2 could be extended to 06 just fine, though I would not want to start releasing Nightly Builds for them if that were the case.

And there is no way to extend COFF into post-06 then?

I don't expect success, but I'll look into it and see if I can find a way to make 08 Debugs generate readable errors.

I was wondering why the error log on my compile of the same revision of RC2 was different than official RC2. Thanks.
Report MediaVP issues, now on the MediaVP Mantis! Read all about it Here!
Talk with the community on Discord
"If you can keep a level head in all this confusion, you just don't understand the situation"

¤[D+¬>

[08/01 16:53:11] <sigtau> EveningTea: I have decided that I am a 32-bit registerkin.  Pronouns are eax, ebx, ecx, edx.
[08/01 16:53:31] <EveningTea> dhauidahh
[08/01 16:53:32] <EveningTea> sak
[08/01 16:53:40] * EveningTea froths at the mouth
[08/01 16:53:40] <sigtau> i broke him, boys

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
It's fundamental changes in the compiler, not our project files.  They simply stopped supporting COFF, and something in the older Speech SDK won't compile now.  It all works fine with VC6.  Took me a while to learn the cause for that error log difference too, so I know where you're coming from.  And just to clarify, it's not '06, it's VC++ 6.0, which is from 1998.  There is a newer Speech SDK, 5.3, but it is only included with the Windows Platform SDK, which is a sizable download at the least.  It could perhaps be separated out and included with our source similar to some other libs, but I don't know what compiling against Speech SDK 5.3 instead of 5.1 would do.  For all I know it could fix the voice recognition problems we're having right now, or it could break even the speech synth.  The reason I don't think SSE would work with VC6 is because SSE wasn't even around in 1998 (1999 was its release).  The compiler likely doesn't have support for it unless it was hacked in with a service pack (in which case I would probably have it).

Hmm, looks like it might after all: VC6 Processor Pack
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline asyikarea51

  • 210
  • -__-||
*stumbles upon thread*

Somehow this thread makes me even more distasteful of any VC version beyond 6... even though for someone like me (i.e. the "clueless masses" :lol:) the difference is usually left unnoticed...

And I'm being "forced" to use one of the said later versions with all that .NET and etc... argh :shaking:

(forced is debatable since I have zero programming knowledge XD)

So erm... in n00b terms SSE/SSE2 can't be made to work in VC6/2005 builds? Only 2008? And as with Sushi's post, is there much of a user difference when using 2008 instead of VC6 SP5?

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
No voice synthesis or voice recognition. As the error messages are more confusing, less hope of bugs getting fixed unless they can be reproduced.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
There's nothing really wrong in particular with the newer versions of Visual Studio.  The IDEs themselves have gotten a lot nicer I think.  But the point of my last post, that link at the end, was that I think SSE/SSE2 could be made to work with VC6, provided you install SP5+ and the Processor Pack available at that link.  SSE likely works in any VC after VC6 as well, natively even, since it came out in 1999.  The next VC (VC++ .NET 2002) likely has SSE and SSE2 optimization support natively.  But currently only one project file has it set up in our SVN, although addding it to others shouldn't be an overly complicated task.  The user difference is not known for certain, but I've heard that the VC2008 builds might run better than the VC6 builds, performance-wise.  Still, without being able to compile the speech sdk on newer compilers, or have proper debugging symbols, we're kind of stuck with what we have for the time being.
« Last Edit: April 22, 2009, 02:59:47 pm by chief1983 »
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline asyikarea51

  • 210
  • -__-||
And here they teach VC2008... for someone used to VC6 I say hello to void main() and goodbye to return 0;

IDE... I still like VC6's menus. Less clutter. Using 2005 and 2008 there's so many options and I was like, "hey, what happened to the window where I can actually TYPE my useless hello world code that won't even compile?"

To each his own I guess. :lol: :nervous:

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Personally I prefer VC6 too but Vista complains at trying to install it.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Yeah but you tell Vista to keep bein' a ***** and go cry in the corner, and then install it anyway.  Then you can have VC2008 and VC6 like I do :)
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

  

Offline Tomo

  • 28
And here they teach VC2008... for someone used to VC6 I say hello to void main() and goodbye to return 0;
void main() is technically wrong anyway - it's not compliant with the C or C++ language specification.
Main must always return a value - 0 usually means "I ran fine", with other values meaning "I broke this way/that way/the computer exploded"