Performance question

I got a scene around 200.000 poly. I’m using mostly diffuse, and diffuse(fast) shaders. No big effects.

When I make a web-build it performs very well on my MacPro QuadCore 2.66 Xeon with a nVidia 7300GT - well, it should, should’nt it :wink:

On any PC I’ve tried, it becomes veeeeery laggy indeed. I tried fiddling with the anti-alias settings, the blend weights and texture quality, but any build I make seems to be veeeeeery laggy on PC’s.

Then I tried opening the build on an old iMac, runs perfectly.

Unity 1.6.2.

Any ideas?

What are the hardware specs of the PCs you tried? Can you post a the web player for me to try?

There’s also… (drum roll, please)…
Unity 2.0
It uses DirectX now on PCs and it very well may solve the issue.

Still, this sounds a bit dramatic, so it may be something unrelated.

The PC is a Dell Inspiron with a gig of RAM and a nVidia 8300 GS 512 mB graphicscard.

I’m currently trying to build it through Unity 2.0, so before giving you the scene, I will try this.

Even though it’s a webbuild, it’s for a local installation, where the GUI is HTML, that connects to a database with dynamic content. Just saying to exclude the internet as a factor.

Well… through 2.0 I get a “Failed to load data file” error everytime on Windows. On Mac it just stalls…

Well, I got it to work now. Performance IS a lot better! However, I do have some weird white bleeds where geometry intersect now, which I did’nt have before in 1.6.2. I added some screenshots here. The bleeds are on the windows at some distance, and the bevelled indents on the door.


And the door…


First thing I would check is did you set the textures to “Clamp” or “Repeat” in the inspector? Looks like it should be set to “Clamp”.

If that’s not the case, I’ve found that Unity (and other game engines also) don’t like planes that overlap too closely (or exactly on top of each other). If your window frames (for example) are made with long, continuous rectangles that overlap, then that could be causing the issues you see.

The “bleeds” would happen when using OpenGL on some cards (in 1.6 as well), and almost everywhere when using DirectX. They are caused by intersecting or very close geometry, when multipass shaders are used (i.e. pixel lights).

To reduce the artifacts: increase camera’s near plane value; don’t make intersecting geometry; don’t use pixel lights if possible.

Sometime in the future I want to fix the root of this problem, but that would require re-implementing fixed function lighting pipeline in vertex shaders. Which can be hard at places due to shader model 1.1 restrictions and some lacking functionality in OpenGL shaders. Someday… :wink: