I was searching the forums on the ATI website and found something that helps the shadows but doesn't completely fix the issue, but it is a major difference.
-All Praise to Fjtorsol (ATI account name.)
"Since the release of Sim City Societies EA decided to create a low quality render mode for ATI hadware that makes shadows look worse than expected due to a supossed bug in ATI drivers that wasn't well explained and currently doesn't seem to be visually perceptible. As a result The Sims 3 use the same shadow rendering mode an all ATI hadware (even Intel graphics use the same mode as NVIDIA)."
As temporal workarround to avoid this impossed low quality you can modify the following plain text file:
32-bit Windows
%programfiles%\Electronic Arts\<<Sims 3 folder or latest EP/SP folder if installed>>\Game\Bin\GraphicsRules.sgr
64-bit Windows
%programfiles(x86)%\Electronic Arts\<<Sims 3 folder or latest EP/SP folder if installed>>\Game\Bin\GraphicsRules.sgr
Once opened replace the specified contents:
WHAT TO REPLACE:
elseif (match("${cardVendor}", "ATI"))
if (match("${cardName}", "*HD 29?0*") or match("${cardName}", "*HD 36?0*") or match("${cardName}", "*HD 38?0*") or match("${cardName}", "*HD 4??0*") or match("${cardName}", "*HD 5??0*") or match("${cardName}", "*V77?0*") or match("${cardName}", "*V87?0*"))
seti cardLevel $cardLevelUber
seti isCardMatched true
elseif (match("${cardName}", "*x18??*") or match("${cardName}", "*x19??*") or match("${cardName}", "*HD 31?0*") or match("${cardName}", "*V3600*") or match("${cardName}", "*V37?0*") or match("${cardName}", "*V5600*") or match("${cardName}", "*V5700*") or match("${cardName}", "*V7200*") or match("${cardName}", "*V73?0*") or match("${cardName}", "*V7400*") or match("${cardName}", "*V7600*") or match("${cardName}", "*V86?0*"))
seti cardLevel $cardLevelHigh
seti isCardMatched true
elseif (match("${cardName}", "*x14??*") or match("${cardName}", "*x850*") or match("${cardName}", "*x15??*") or match("${cardName}", "*HD 34??*") or match("${cardName}", "*x16??*") or match("${cardName}", "*HD 23?0*") or match("${cardName}", "*HD 24?0*") or match("${cardName}", "*HD 26?0*"))
seti cardLevel $cardLevelMedium
seti isCardMatched true
elseif (match("${cardName}", "*9800*") or match("${cardName}", "*x600*") or match("${cardName}", "*HD 32??*") or match("${cardName}", "*x7?0*") or match("${cardName}", "*x8?0*") or match("${cardName}", "*FireGL X2*") or match("${cardName}", "*FireGL X3*") or match("${cardName}", "*V3200*") or match("${cardName}", "*V33?0*") or match("${cardName}", "*V3400*") or match("${cardName}", "*V5000*") or match("${cardName}", "*V5100*") or match("${cardName}", "*V5200*") or match("${cardName}", "*V7100*"))
seti cardLevel $cardLevelLowmedium
seti isCardMatched true
elseif (match("${cardName}", "*Rage*") or match("${cardName}", "*XPress*") or match("${cardName}", "*7?00*") or match("${cardName}", "*8?00*") or match("${cardName}", "*95?0*") or match("${cardName}", "*96?0*") or match("${cardName}", "*97?0*") or match("${cardName}", "*x200*") or match("${cardName}", "*x300*") or match("${cardName}", "*x5?0*") or match("${cardName}", "*x10?0*") or match("${cardName}", "*x11?0*") or match("${cardName}", "*x12?0*") or match("${cardName}", "*x13??*") or match("${cardName}", "*FireGL T2*") or match("${cardName}", "*FireGL Z1*") or match("${cardName}", "*FireGL X1*") or match("${cardName}", "*V3100*"))
seti cardLevel $cardLevelLow
seti isCardMatched true
else
seti cardLevel $cardLevelUber
seti isCardMatched false
endif
setProp $ConfigGroup RenderShadowMode 1
setProp $ConfigGroup ShadowMapForceDF16Available 0
if ($osMajorVersion >= 6 and versionLessThan("7.14.0010.0630", "${driverVersion}") and not versionLessThan("7.14.0010.0636", "${driverVersion}"))
setProp $ConfigGroup ReportOldGraphicsDriver 1
endif
if ($disableMacAA)
if (match("${cardName}", "*X16??*") or match("${cardName}", "*X19??*"))
setProp $ConfigGroup DisallowEdgeSmoothing 1
endif
endif
REPLACE IT WITH:
elseif (match("${cardVendor}", "ATI"))
if (match("${cardName}", "*HD 29?0*") or match("${cardName}", "*HD 36?0*") or match("${cardName}", "*HD 38?0*") or match("${cardName}", "*HD 4??0*") or match("${cardName}", "*HD 5??0*") or match("${cardName}", "*V77?0*") or match("${cardName}", "*V87?0*"))
seti cardLevel $cardLevelUber
seti isCardMatched true
elseif (match("${cardName}", "*x18??*") or match("${cardName}", "*x19??*") or match("${cardName}", "*HD 31?0*") or match("${cardName}", "*V3600*") or match("${cardName}", "*V37?0*") or match("${cardName}", "*V5600*") or match("${cardName}", "*V5700*") or match("${cardName}", "*V7200*") or match("${cardName}", "*V73?0*") or match("${cardName}", "*V7400*") or match("${cardName}", "*V7600*") or match("${cardName}", "*V86?0*"))
seti cardLevel $cardLevelHigh
seti isCardMatched true
elseif (match("${cardName}", "*x14??*") or match("${cardName}", "*x850*") or match("${cardName}", "*x15??*") or match("${cardName}", "*HD 34??*") or match("${cardName}", "*x16??*") or match("${cardName}", "*HD 23?0*") or match("${cardName}", "*HD 24?0*") or match("${cardName}", "*HD 26?0*"))
seti cardLevel $cardLevelMedium
seti isCardMatched true
elseif (match("${cardName}", "*9800*") or match("${cardName}", "*x600*") or match("${cardName}", "*HD 32??*") or match("${cardName}", "*x7?0*") or match("${cardName}", "*x8?0*") or match("${cardName}", "*FireGL X2*") or match("${cardName}", "*FireGL X3*") or match("${cardName}", "*V3200*") or match("${cardName}", "*V33?0*") or match("${cardName}", "*V3400*") or match("${cardName}", "*V5000*") or match("${cardName}", "*V5100*") or match("${cardName}", "*V5200*") or match("${cardName}", "*V7100*"))
seti cardLevel $cardLevelLowmedium
seti isCardMatched true
elseif (match("${cardName}", "*Rage*") or match("${cardName}", "*XPress*") or match("${cardName}", "*7?00*") or match("${cardName}", "*8?00*") or match("${cardName}", "*95?0*") or match("${cardName}", "*96?0*") or match("${cardName}", "*97?0*") or match("${cardName}", "*x200*") or match("${cardName}", "*x300*") or match("${cardName}", "*x5?0*") or match("${cardName}", "*x10?0*") or match("${cardName}", "*x11?0*") or match("${cardName}", "*x12?0*") or match("${cardName}", "*x13??*") or match("${cardName}", "*FireGL T2*") or match("${cardName}", "*FireGL Z1*") or match("${cardName}", "*FireGL X1*") or match("${cardName}", "*V3100*"))
seti cardLevel $cardLevelLow
seti isCardMatched true
else
seti cardLevel $cardLevelUber
seti isCardMatched false
endif
setProp $ConfigGroup RenderShadowMode 2
setProp $ConfigGroup ShadowMapAllowNullColor 1
if ($osMajorVersion >= 6 and versionLessThan("7.14.0010.0630", "${driverVersion}") and not versionLessThan("7.14.0010.0636", "${driverVersion}"))
setProp $ConfigGroup ReportOldGraphicsDriver 1
endif
if ($disableMacAA)
if (match("${cardName}", "*X16??*") or match("${cardName}", "*X19??*"))
setProp $ConfigGroup DisallowEdgeSmoothing 1
endif
endif
0
Comments
I ordered a Nvidia GTX 460 with my new pc because of this problem, I didn't want to risk going with ATI and be stuck with this problem.
I'm sure many Simmers will be grateful for this.
Before: (By BryonyRae)
[IMG]http://i1092.photobucket.com/albums/i403/egnite987/pixellatedgarbage.jpg "width=600" "height=450"[/IMG]
After:
[IMG]http://i1092.photobucket.com/albums/i403/egnite987/Screenshot-47.jpg"width=600" "height=450"[/IMG]
This works really well, my shadows are great!
It was hard to take pics... because now there is nothing to take a picture of! It's jut a normal, un-blocky shadow.
But here's a pic of a sim and the shadow of a tree on the ground (the tree shadows before this fix used to look like someone had been let loose with MS paint so it's a real difference for me)
[IMG]http://i126.photobucket.com/albums/p113/sherbetcat/Screenshot-6.jpg "width=600"[/IMG]
[IMG]http://i126.photobucket.com/albums/p113/sherbetcat/Screenshot-2-1.jpg "width=600"[/IMG]
This was what my shadows looked like before: (had to go hunting for this because I'd stopped taking screenies of my sims outside)
[IMG]http://i126.photobucket.com/albums/p113/sherbetcat/Screenshot-88.jpg "width=600"[/IMG]
AND that's a mild case of what blocky-shadowing was like in my game. Sometimes it would be all over a sims face as well.
Sorry it took so long, I un-installed and re-installed S3 today, and forgot to add in my store stuff the first time I loaded it up, so had to restart it, and then had to restart it again after maxing the graphics and changing screen resolution before I could play :roll:
I'm glad it's worked for you!! :P:P
Just for reference I have an ATI Radon HD 5670 running on Windows XP 32 bit.
My graphics (except outside shadows) all looked great but in Twinbrook, where there are a lot of Willow Tree casting a lot of shadows, the pixelated shadows looked SO bad.
It is much much better now.
Most agreed
It fixed the shadow issue I've been putting up with since the game originally game out. My shadows in Sims 3 have never looked so good!
Congrats!!
BUMPING!!!
I have a Radeon HD 5470 on 64 bit. I have also switched so that the Sims programs is saved on another hard drive on my comp.
I'll try and get a picture next time I have the game up.
Edit: Even though it perfectly fixed the blocky shadows, the total quality of the graphics became a bit blurry. Also it does not work with 3booter, and fps limiter. And these are something i can't live without since my ATI is hitting up to 400-450 fps without them. Even though "wait for vertical refresh" is reducing that to down to 75 fps, the fan is going crazy working at 84% . I'm going to inform Pescado about this fix and see if he can implement it some how and make booter and fps limiter work with it.