I have unity 3 pro installed on windows xp sp3. On the same machine as a dual boot also windows 7.
The same standalone application with the same drivers for the ati5870 (catalyst 10.9), while it runs smooth on winxp it stutters very bad on windows 7. Vsync is enabled. Without vsync happens the same and even worse.
I have a cinematic camera traversal of the scene which moves the camera along a spline.
Here are 2 videos, one for winxp and one for win7:
Try profiling it from within Unity and see if that reveals anything. You also need to consider things such as audio, disk controller, and motherboard driver issues.
Already researched these areas but nothing is wrong. As you can understand, on the same machine with the same drivers the difference from one os to the other is big. And not only on mine. Actually I found out about this when a possible client mentioned the stutter when he saw it on a win7 machine …
It runs at about 30fps for me in Windows 7 x64, even at lower graphics settings, and for a scene like this that does seem wrong. I would try disabling the water reflection effect first, and then comparing performance at different graphics quality settings from the Unity launcher to see if it’s a certain effect like antialiasing that’s causing this. If it’s consistently lower on Win7 I don’t really know what to suggest, as I don’t have an XP machine to test this on. Do other Unity games show this sort of problem, or just your scene?
If you can’t fix this and just want to try improving performance overall as a short-term fix, I would suggest lightmapping the scene and turning off any dynamic lights, and then using the new occlusion culling system in Unity 3. Assuming those models aren’t crazily high poly, I don’t see any reason why it would be as slow as it is.
If you like I could take a look at the project file itself and see if I can get it running at a higher frame rate, although I’d understand if you want to keep this to yourself if it’s for a commercial project. I’ve been in this biz for 15 years now, though, and have an entire drive full of assets and models so I assure you I’m not going to do anything with it other than try to fix it up.
edit: I love those ship models, by the way. They’re really impressive, as is the scene overall. I appreciate you have more important things to worry about right now, but adding some trees and a pebble/sand texture for the waters edge would reduce the “empty” feeling of the terrain.
edit2: I should’ve mentioned this, but I’m using an Nvidia card so you can probably rule out this being a driver issue and more likely to be a problem in the scene or some effect in Unity eating all your CPU or rendering time.
The scene is intended to run on a machine with a good graphics card. On winxp I get 85-140 fps.
So I rule out the performance suggestions you made because I already tried them (the scene is lighmapped).
I will try though toremove the NFAA effect to see if this is the problem.
But on win 7 while i see on the debug info that i have 60 fps the camera stutters like it goes with 15 fps.
And as I said on the above post forcing opengl resolves the issue somehow but not quiet. So it must be a dx/win7 issue.
This scene is a fallback scene of the final one. I created this one just to undestand the problem with win7.
Thank you for you kind words.
Update: It seems that having maximum allowed timestep at 0.15 was causing much of the trouble on win7. I returned it to the default value of 0.33333 and it reduced the stutter a lot.
But still there is stutter in win7 while in winxp there is none.
Also another thing I observed on win7: while on fullscreen there is stutter, when you run the application in windowed mode the stutter is gone.
So there must be some fullscreen issue …
Thanks for the link. The maximum allowed timestep should not interfere with the camera movement. The camera follows a spline. In the same application if you press pgup/pgdown there are 5 more cameras (orbit and free). They move fine but I discovered that I had to use smoothdeltatime instead of deltatime for framerate independent camera movement as i described here: http://forum.unity3d.com/threads/63095-webPlayer-deltaTime-spikes-and-stutter
But I believe I have pinned down the problem with windows 7. There certainly is an issue with win7 and fullscreen mode. The app that runs smooth on winxp will not run as smooth on win7-fullscreen. It will run smooth however in win7-windowed.
I include here a variation of the previous executable which has the default “maximum allowed timestep” value. It runs better on win7 but still not as smooth as on winxp …