General Availability of Visual Studio 2010

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
jjp
Silver Sponsor
Silver Sponsor
Posts: 597
Joined: Sun Jan 07, 2007 11:55 pm
Location: Cologne, Germany
Contact:

Re: General Availability of Visual Studio 2010

Post by jjp »

Kojack wrote:msdnaa always only release the professional version (2003, 2005, 2008 and now 2010), express version and betas of higher ones.
For VS 2005 and 2008 there is also the Team Suite version on MSDNAA.
Enough is never enough.
User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Re: General Availability of Visual Studio 2010

Post by betajaen »

If your a student, you can download it for free from Dreamspark.

You need to prove that your student (I used my .ac.uk email address) and you can only use it for Educational/Learning use - but it's worth having a look anyway. :D
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: General Availability of Visual Studio 2010

Post by Kojack »

Ok, after around 15 hours (including downloading twice because the horrible msdnaa download app can't handle resuming after a crash, it's crc check locks up if the crc isn't correct) I finally had 2010 installed. Luckily the install itself was painless.

So... Ogre time.
I synced the mercurial repository, then loaded the 2008 dependency solution. I did a build, and everything compiled fine, except for zlib. 2010 doesn't like the way zlib's debug build has a project name of zlib but a target name of zlibd. I went to the project properties and set the targetname to $(ProjectName)d. It built fine after that. The release build of all dependencies worked fine first go.
So far so good.

Next I opened cmake and selected the ogre source. I told it to make a vs2010 solution. Configuration died trying to find freetype. After a while I discovered that the dependency build didn't go as well as it appeared, the lib directory only contained cg.lib and I think ois.lib. All the others were in their own build directories. I found all libs and copied them to the debug and release lib directories. Now cmake could find everything and worked fine.

I opened up the solution in 2010 and did a debug build.everything built fine, except for the sample browser which had 2 linker errors looking for missing functions in OIS. For some reason the debug sample browser was trying to link against the release build of OIS in the ogre 1.6.4 sdk, instead of the 1.7 mercurial directory. I didn't even remember I had an ogre sdk on here, I think I installed it ages ago for a question on the forum about missing files or something. I always build ogre myself. I corrected the path and did a build. Yay, no errors! I gave it a quick run, the sample browser came up (after fixing an incorrect working directory setting). I didn't bother running any samples, it was release build time.

The correct OIS lib was linked for release mode, only the debug config was wrong. It all compiled fine first go. So I started the browser and tried some samples (direct3d9 mode). Some run, some crash. I switched to debug and I'm now going through them.
bsp - ok
bezier - ok
bumpmapping - vector subscript out of range in TangentSpaceCalc::calculateFaceTangentSpace(). It's trying to access vertex 43947 in a vector of 1834 vertices.
camera tracking - ok
cel shading - ok
character - null pointer access in SoftwareVertexSkinning_SSE_PosNorm_Shared_Packed::apply() when calling the _collapseFourMatrices macro.
compositor - ok
cube mapping - same crash as character demo.
deferred shading - same crash as bump mapping demo.
dynamic texturing - same crash as character demo.
facial animation - I get glasses and teeth, but the head is shrunk to a tiny scrambled blob with a vertical column going off the top of the screen.
fresnel - same crash as character demo.
grass - same crash as bump mapping demo (accessing index 43947 in a vector with 58 elements)
instancing - in instance mode it shows a big black triangle instead of the model. in static geometry mode it crashes with a bad memory read in InstancedGeometry::calculateBounds(). Independent entity mode works fine.
isosurf - doesn't like dx9 so didn't test yet (i'll do dx11 testing soon)
lighting - ok
ocean - ok
particle effects - ok
particles gpu - also not dx9 compatible
shader system - same crash as bump mapping demo (43947 in a vector with 1834 elements)
shadows - I get a ground plane and a few moving giant triangles of shadow in stencil mode, only the ground plane and no shadows in texture mode. No other meshes are visible.
skeletal animation - bad memory read in VertexData::prepareForShadowVolume(). Locking the source vertex buffer is returning a bad pointer.
skybox - ok
skydome - ok
skyplane - ok
smoke - ok
sphere mapping - ok
terrain - ok (I thought it locked up, took ages to start in debug mode)
texture effects - ok
transparency - same crash as the character demo.
volume texture - ok
water - bad memory read in WaterMesh::calculateNormals() trying to access vertex 64466 in a vertex buffer with size 4225.


So half of the samples work.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: General Availability of Visual Studio 2010

Post by Kojack »

Ok, now that I've fixed all the errors (see the developer board), here's some tests comparing 2008 to 2010.

Size of ogremain.dll (default release build):
2008 - 6907KB
2010 - 6480KB

Size of samplebrowser.exe:
2008 - 171KB
2010 - 175KB

All dlls together:
2008 - 19.6MB
2010 - 19.1MB

Build time (full release build of all samples and plugins):
2008 - 12:35
2010 - 14:45

Framerate of sample browser's terrain demo (directx9, 1280x960):
2008 - 368fps
2010 - 355fps

Ok, not exactly scientifically accurate testing. But so far it seems 2010 takes longer to compile ogre and has a lower frame rate, but takes a bit less disk space.
There could be a bunch of settings which haven't been set by cmake yet for 2010, so it might be possible to boost these results.
CABAListic
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 2903
Joined: Thu Jan 18, 2007 2:48 pm
x 58
Contact:

Re: General Availability of Visual Studio 2010

Post by CABAListic »

D'oh, compile time has increased again? That sucks, compile time is already way behind GCC; on my quadcore GCC takes less than half the time to compile Ogre that VS2008 needs. Even though the output may be better than GCC (particularly MinGW) this is becoming an actual issue for me. Time is precious, after all :)
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: General Availability of Visual Studio 2010

Post by jacmoe »

It seems to me that VC10 takes longer to compile because it seems to favour size over speed out of the CMake box?
The difference is not that big, actually.
With the right flags, this could be faster than VC9, I'm sure. :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: General Availability of Visual Studio 2010

Post by Kojack »

On this same computer I've done a full build of ogre in just 4min using 2008, but that was using a ram drive for everything. Unfortunately it's hard to find a good win7 ram drive which is free.

About 10min of both compiles was just ogremain. I've got builds set to 4 threads, but I didn't play with the per cpp file threading option (I just wanted to use the default settings). I've just done a 2010 build with per cpp threading on and it took only 3:24 for ogremain.
CABAListic
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 2903
Joined: Thu Jan 18, 2007 2:48 pm
x 58
Contact:

Re: General Availability of Visual Studio 2010

Post by CABAListic »

Aha, that sounds better. GCC on Linux for me takes roughly 3:10 mins for the whole build, so that's quite more reasonable. VS 2008 takes over 7 mins in comparison, with the /MP flag enabled.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: General Availability of Visual Studio 2010

Post by Kojack »

Plus my hard drive is probably massively fragmented, and I've got ogre, visual studio and windows all on the one partition, so there's going to be a bit of thrashing. I really should move my ogre work directory to one of the other 5 hard drives.
:)
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: General Availability of Visual Studio 2010

Post by Kojack »

I just found a free 64 bit win7 compatible ram drive. Using a 4GB partition I did a full compile of ogre in 2010. It took 2:40 for ogremain, then 4:20 for the other 50 projects. 7:00 total.
I've got stuff running in the background right now doing heavy disk access, so it's probably not the best time to profile it. But 7min for a fresh build of ogre isn't too bad.
CABAListic
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 2903
Joined: Thu Jan 18, 2007 2:48 pm
x 58
Contact:

Re: General Availability of Visual Studio 2010

Post by CABAListic »

Hm, but that's still more than double the time from my GCC build, and that one doesn't even use a RAM disk... Oh well, you can't have everything, it seems :)
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: General Availability of Visual Studio 2010

Post by Kojack »

My new goal (until I forget and move on to other things): beat your compile time. :)

New time (using 8 threads with hyperthreading):
2010:
ogremain - 2:28
other projects - 3:25
total - 5:53

2008:
ogremain - 9:22 (I didn't have per cpp threading on, 2010 has a gui for it)
other projects - 2:19
total - 11:41

If I entered the right flag for 2008, the ogremain should have been maybe 2min, giving a total time of 4 and a bit min.

(Damn, 2:42am, got to wake up at 6 and I still have a ton of work to do before hand)
CABAListic
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 2903
Joined: Thu Jan 18, 2007 2:48 pm
x 58
Contact:

Re: General Availability of Visual Studio 2010

Post by CABAListic »

Hehe, you're getting there :) Out of fairness, I should probably mention that a full MinGW build takes about 3:50 minutes. The difference to the Linux compile time is very likely due to the DirectX rendersystems, so the MinGW build is the time to beat.
User avatar
imi
Gnoblar
Posts: 10
Joined: Fri Apr 16, 2010 8:28 am

Re: General Availability of Visual Studio 2010

Post by imi »

Did you compile the OgreDependencies_MSVC_20100106.zip - dependencies? I can't convert the solution files to 2010, I get tons of strange errors like:

Cannot load the project due to a corrupt project file.
The following error has occurred during XML parsing: File: C:\Users\imi\Projekte\ogre\Dependencies\src\Cg-2.2\Cg.2008.vcproj Line: 72 Column: 5 Error Message: Systemfehler: -2147154677. The file 'C:\Users\imi\Projekte\ogre\Dependencies\src\Cg-2.2\Cg.2008.vcproj' has failed to load.


Can you make a prebuild version for the dependencies available and/or the converted solution files for VS2010?

Thanks, Imi
Edit: I got the dependencies compiled by using the VS-2003 solution files.
User avatar
Thieum
Gnome
Posts: 342
Joined: Wed Apr 26, 2006 5:13 pm
Location: Bordeaux, France
x 2
Contact:

Re: General Availability of Visual Studio 2010

Post by Thieum »

I am also getting trouble upgrading the dependencies projects to vc2010 express.
The express edition of visual C++ never supported the x64 target platform but vc2008 just ignored it. Now, vc2010 refuse to upgrade the projects because I don't have the x64 platform installed :

Code: Select all

Filename Status Errors Warnings 
 Cg-2.2\Cg.2008.vcproj Not Converted 2 2 
Conversion Report - Cg-2.2\Cg.2008.vcproj: 
Converting project file 'D:\Dev\OgreDev\ogre1.7\Dependencies\src\Cg-2.2\Cg.2008.vcproj'. 
Failed to upgrade platform 'x64'. Please make sure you have it installed under '%vctargetspath%\platforms\x64' 
Failed to upgrade 'Debug|x64'. Please make sure you have the corresponding platform installed under '%vctargetspath%\platforms\x64' 
The project configuration dimension name/value "(Platform, Win32)" was not found in the project manifest. 
Project upgrade failed. 
(etc)

removing the x64 platform from vc2008's platform manager only removes it from the .sln and not from the .vcproj and the conversion still fails.

I will have to edit each .vcproj to remove the x64 platform. that's quite a PITA

EDIT: this still doesn't work
PCShadow
Gnoblar
Posts: 10
Joined: Sun Oct 19, 2008 4:48 pm

Re: General Availability of Visual Studio 2010

Post by PCShadow »

Upgrading and compiling the dependencies worked after removing the x64 entries. Are you sure you removed not only the platform entries, but also the configuration entries in the project files?
But I get an error when I try to build FreeImage:

Code: Select all

1>LINK : fatal error LNK1104: cannot open file 'D:\SDKs\ogre\Dependencies\_1\src\FreeImage-3.13.1\Source\FreeImageLib\Debug\FreeImaged.lib'
renaming the Project to FreeImage instead of FreeImageLib and changing the Target Name from $(ProjectName) to $(ProjectName)d, similar to the fix for zlib, didn't help.
User avatar
MrD
Goblin
Posts: 292
Joined: Wed Oct 21, 2009 3:16 pm
Location: England
x 1

Re: General Availability of Visual Studio 2010

Post by MrD »

Kojack, the UK MSDN AA has both the retail versions of 2010 Professional and Ultimate!

How about your MSDN?

I'm also downloading this at Uni, to take advantage of the Uni's 8mb/s download speed :)
Insimnax Framework - A game framework for OGRE
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: General Availability of Visual Studio 2010

Post by Kojack »

Hmm. I googled a bit and found an elms msdnaa store for another college which has both vs2010 ultimate beta 2 and what looks like a release version.
My college only has the beta of ultimate at the moment. I'll ask tomorrow (msdnaa doesn't get new stuff automatically, it's up to a staff member at each college to notice something new is out, then manually enable each download).
User avatar
Kyle_Katarn
Halfling
Posts: 92
Joined: Tue Jul 21, 2009 7:51 am
Location: Australia

Re: General Availability of Visual Studio 2010

Post by Kyle_Katarn »

Lol, our TAFE's MSDNAA server only has the VS2010 Professional. Although I'll see our MSDNAA guy tomorrow to see if the Ultimate version is available and just hasnt been activated yet.

And oh sweet, they have Windows 7 professional x64. I thought they only allowed 32 bit versions for students.

No more XP for me =D

I love being a student =P
reptor
Ogre Magi
Posts: 1120
Joined: Wed Nov 15, 2006 7:41 pm
Location: Finland
x 5

Re: General Availability of Visual Studio 2010

Post by reptor »

Do you need to be studying computer science to get those?
User avatar
MrD
Goblin
Posts: 292
Joined: Wed Oct 21, 2009 3:16 pm
Location: England
x 1

Re: General Availability of Visual Studio 2010

Post by MrD »

reptor wrote:Do you need to be studying computer science to get those?
Yes.

Our Uni actually has us signed up twice, once with our old Uni email accounts and once with our new email accounts ;)
Insimnax Framework - A game framework for OGRE
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: General Availability of Visual Studio 2010

Post by Kojack »

Computer science isn't needed.
There's 3 msdnaa subscriptions: developer, designer and high school (which we'll ignore).
Developer is available to engineering, technology, science and mathematics departments. It has the biggest range of stuff, including vs2010 ultimate (microsoft's web site confirms it).
Designer is available to visualisation, illustration, design and art departments. It has less stuff (vs2010 limited to professional only, no XP, no msdn library, etc).
All a student requires is to be doing at least one subject for credit in the appropriate department at a college/university which has msdnaa membership.

http://msdn.microsoft.com/en-us/academic/bb676724.aspx
User avatar
MrD
Goblin
Posts: 292
Joined: Wed Oct 21, 2009 3:16 pm
Location: England
x 1

Re: General Availability of Visual Studio 2010

Post by MrD »

Kojack wrote:Computer science isn't needed.
Fair enough. I think our Uni only offers it to those in the school of computing.
Insimnax Framework - A game framework for OGRE
User avatar
JaJDoo
Gnome
Posts: 343
Joined: Wed Feb 04, 2009 9:15 pm
x 5

Re: General Availability of Visual Studio 2010

Post by JaJDoo »

so..
for us not-build-from-source-people...
is it safe yet to move to 2010?

edit: anyone noticed the "for evaluation purposes only" ? that smells like..... Microsoft
edit2: well vc10 says im missing some boost_100 libs so im building boost and see what happens...
edit3: build alright, but 'mRoot = new Root();' returns access violation .. blarg? ( why cant my GC go above 1280 x 1024? its annoying i cant see anything :? )
edit4: callstack went into ogremain_d.dll, than says no symbols loaded for msvcr90d.dll .disassembly says something to do with dword... im guessing this wont really work without a new build of ogre. (my guess doesn't count because i don't really know what going on)
edit5?: told vc to download symbols itself... see what happens.. my street cat is meowing weirdly.. gotta check what she wants now
edit for edit 5: plain weird .. error jumps at me from memcpy_s.c in "memcpy(dst, src, count);" about a 0xC0000005 (junk pointer>?) while trying to create root.. yarr?? (i wonder, does anybody care about what i write?)
more edit: wait.. wait.. he says no symbols loaded for ogremain_d.dll ... i think im up to something...

darn.. now im obsessed about making it work .. help?
Last edited by JaJDoo on Wed Apr 28, 2010 2:08 pm, edited 9 times in total.
some post from somewhere:
"So you basically want to make a car without a steering wheel because you don't know how to drive. I'd say learn how to use pointers"
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: General Availability of Visual Studio 2010

Post by jacmoe »

JaJDoo wrote:anyone noticed the "for evaluation purposes only" ? that smells like..... Microsoft
Register your software and it goes away.

Your comment smells like.....Open Source paranoia. :P
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Post Reply