Welcome, Unregistered.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Reply
Old 05-Apr-2008, 08:44   #26
vazel
Member
 
Join Date: Aug 2005
Posts: 992
Default

Quote:
Originally Posted by Davros View Post
wouldnt this be of benefit for those games which dont run properly (rendering errors) on modern cards + drivers
examples:
system shock 2
theif 2
crimson skies

edit:
Just tried crimson skies and it just doesnt run with swiftshader installed
This was the first thing I thought of when I saw this and was wondering about Crimson Skies too. I love this game so much I was seriously considering making my next card ATi to have it work properly. Only thing that troubles me is ATi cards don't have fixed aspect ratio scaling. Hopefully Crimson Skies will work in a future iteration of SS.
__________________
"Who knows what evil lurks in the hearts of men? The Shadow knows!"

Last edited by vazel; 05-Apr-2008 at 09:01.
vazel is offline   Reply With Quote
Old 05-Apr-2008, 10:50   #27
AnarchX
Senior Member
 
Join Date: Apr 2007
Posts: 1,393
Default

Very amazing project!

But your older version, with its high MMX-dependence, still seems to offer a higher per- clock/core-performance, if you use a CPU with usable MMX-implementation, like Pentium-M, Netburst-Pentium, Athlon XP, how some tests under 3DMark2001SE show:
http://www.forum-3dcenter.org/vbulle...d.php?t=267950
(from page 3 test with 2.0)
AnarchX is offline   Reply With Quote
Old 05-Apr-2008, 11:20   #28
Arun
Unknown.
 
Join Date: Aug 2002
Location: UK
Posts: 4,877
Default

Quote:
Originally Posted by AnarchX View Post
But your older version, with its high MMX-dependence, still seems to offer a higher per- clock/core-performance, if you use a CPU with usable MMX-implementation
Read the FAQ - they clearly admit SwiftShader 2.0 only delivers 70% to 110% of the performance of previous generation software rasterizers for legacy code (also depending on the quality settings), and that matches those 3DMark01SE numbers very well.

Which brings me to a question I had: what's the internal shader precision for DX8 games? Is it also FP32 now?
__________________
Focusing on non-graphics projects in 2013 (but I still love triangles)
"[...]; the kind of variation which ensues depending in most cases in a far higher degree on the nature or constitution of the being, than on the nature of the changed conditions."
Arun is online now   Reply With Quote
Old 05-Apr-2008, 11:26   #29
Davros
Darlek ******
 
Join Date: Jun 2004
Posts: 9,497
Default

vazel im sure they added that in a recent driver - best to ask one of the ati users

edit found it its in cats 8.3
- GPU accelerated digital panel scaling, with totally new "maintain aspect ratio" option to prevent distorted aspect rates'

check with an ati user to make sure its working or ati have doen something stupid and removed it in later drivers

Last edited by Davros; 05-Apr-2008 at 11:31.
Davros is offline   Reply With Quote
Old 05-Apr-2008, 16:31   #30
Jawed
Regular
 
Join Date: Oct 2004
Location: London
Posts: 9,863
Send a message via Skype™ to Jawed
Default

Quote:
Originally Posted by Nick View Post
The theoretical floating-point performance of modern CPUs is actually close to that of mid-range graphics cards (for multiply-add). So in my experience software rendering can handle pure arithmetic work really well. Texture sampling however requires a lot of instructions to implement.
Do you have a breakdown for address generation, decompression and filtering, say for simple 8bpc bilinear?

Quote:
You could use RenderMonkey to compare the costs. I'd actually be quite interested in the results myself. Transcendental functions like log and exp also don't map directly to x86 instructions.
So I could install RenderMonkey, put the SS DX9.dll in the same folder and get some realtime execution stats from some simple shaders? Ooh, something to play with later...

Quote:
Note though that it's never a bottleneck in the ALU:TEX sense of graphics hardware. There are no dedicated texture samplers that could be a bottleneck on their own. It's just a shift in what code is spent most cycles on.
Hmm, yeah I wasn't thinking clearly there, particularly having already discussed this concept in some detail with respect to Larrabee

Presumably, as a result of this, SS doesn't need to have many pixels in flight to hide texturing latency. But I imagine future CPUs' considerable bandwidth increases mean that you'll want to increase this count as time goes by. Does SS "self-calibrate" this count dependent upon detected bandwidth?

Jawed
Jawed is offline   Reply With Quote
Old 06-Apr-2008, 01:05   #31
Nick
Senior Member
 
Join Date: Jan 2003
Location: Ottawa, Ontario
Posts: 1,783
Default

Quote:
Originally Posted by Voltron View Post
Just curious Nick, if you can discuss this, whether you think there will be commercial interest in this version? Or is it more of a research thing until high performance software rendering is really viable.
Feel free to contact swiftshader@transgaming.com for official statements, but my personal view is that the current release has great value for the casual games market and desktop applications that use 3D. The casual games market is surprisingly large. If you look at the top game sales of the past few years it includes titles such as The Sims 2 (100 million copies - versus for instance 2 million for a game like BioShock), which don't demand high performance at all. From a rapid development perspective it's tempting for casual game developers to nowadays only have one code path and require Direct3D 9 support. And because they can't stay behind on eye candy completely they use advanced shaders more and more. The industry's determination to abandon the fixed-function pipeline and focus on HLSL rapidly makes Shader Model 2.0 a minimum requirement.

SwiftShader can also help reduce QA and support costs. It will generate exactly the same output on any system, and provides a fallback in case of hardware/driver/runtime issues. This is also why it can be useful for medical applications. It's important that every doctor around the world sees the same 3D images.

I'm totally aware that the CPU performance of systems without Shader Model 2.0 graphics hardware is limited, but I'm confident that it's sufficient to keep SwiftShader commercially interesting for our primary market of casual gaming. But the ambition doesn't stop there. New systems get equipped with ever faster CPUs while IGPs for 'office systems' only need to provide the bare minimum of performance. So I believe that they are slowly cathing up. A good analogy is sound cards. Fifteen years ago you needed a dedicated sound card to get anything more than bleeps. Then they were integrated into the chipset. And nowadays the vast majority of people are happy with a tiny analog chip and the actual processing being done in a software driver (thankfully making use of MMX/SSE). Despite hardware solutions still being vastly superior it's not cost-effective for most.

Of course graphics is far more complex than sound, and new applications keep pushing the limits further, but the range of applications that can run in software is steadily increasing. Today it's limited to casual games but tomorrow it might include popular games (think World of Warcraft) that don't really lose popularity despite what some may call 'outdated' graphics. So for SwiftShader 2.0 it was important to take advantage of multi-core and show future potential.

To conclude; I'm quite excited about making software rendering a viable alternative again in several years, while also being confident that it already has great commercial potential today.
Nick is offline   Reply With Quote
Old 06-Apr-2008, 01:17   #32
Nick
Senior Member
 
Join Date: Jan 2003
Location: Ottawa, Ontario
Posts: 1,783
Default

Quote:
Originally Posted by Davros View Post
now that was uncalled for
/Davros cries - you'll never let me live it down will you, Im sorry i know my actions brought shame on B3d, i'll never do it again I promise........
Now, now, don't worry, I've already bought some extra drives and sent you the bill. It's some cheap 128 GB solid-state drives in RAID 6.
Nick is offline   Reply With Quote
Old 06-Apr-2008, 01:24   #33
Davros
Darlek ******
 
Join Date: Jun 2004
Posts: 9,497
Default

No No
im not crying because you have too little free space, but because I have too much
read this you'll understand
http://forum.beyond3d.com/showthread.php?t=47534
ps: if theres any of those you'd like me to test with swiftshader give us a holler...

pps: did you manage to look at crimson skies - there are a few b3d readers who would love to play it again
Davros is offline   Reply With Quote
Old 06-Apr-2008, 01:26   #34
Nick
Senior Member
 
Join Date: Jan 2003
Location: Ottawa, Ontario
Posts: 1,783
Default

Quote:
Originally Posted by vazel View Post
Hopefully Crimson Skies will work in a future iteration of SS.
It appears to be a Direct3D 7 game, while SwiftShader is Direct3D 8 and 9.

Do you think there's a considerable market for supporting Direct3D 7 and lower? I remember 'Aliens versus Predator' being another game that no longer runs on current hardware but still having some fans...
Nick is offline   Reply With Quote
Old 06-Apr-2008, 01:58   #35
Nick
Senior Member
 
Join Date: Jan 2003
Location: Ottawa, Ontario
Posts: 1,783
Default

Quote:
Originally Posted by AnarchX View Post
But your older version, with its high MMX-dependence, still seems to offer a higher per- clock/core-performance, if you use a CPU with usable MMX-implementation, like Pentium-M, Netburst-Pentium, Athlon XP, how some tests under 3DMark2001SE show:
http://www.forum-3dcenter.org/vbulle...d.php?t=267950
(from page 3 test with 2.0)
SwiftShader 2.0 defaults to higher quality. For starters it computes the mipmap LOD per quad instead of per polygon and uses higher precision perspective correction. I'm pretty sure that at equal quality 2.0 would perform equal or better than 1.0. And in the case some application would be slower it's quite easy to locate the bottleneck and revert to the old approach or find an even better solution. That's the beauty of software; we can tailor a version specifically for a client's application to make things significantly faster.

Per-polygon mipmapping has been disabled in this release (to allow dependent texture reads and gradient instructions), but some other performance/quality settings can be controlled with SwiftConfig.
Nick is offline   Reply With Quote
Old 06-Apr-2008, 02:03   #36
Davros
Darlek ******
 
Join Date: Jun 2004
Posts: 9,497
Default

To be honest i dont.
the guy who makes glidos http://www.glidos.net/ which lets people play dos glide based games (a much bigger market imho) claims to make very little money
Most dx7 and below games actually run fine
as for avp after 2 years of fans pleading with nvidia on their forums and being ignored
some guy turned up found out the problem and fixed it, the fix was later put into the official driver

the only other games which spring to mind are system shock 2 + theif 2 they run but they render the textures poorly

Last edited by Davros; 06-Apr-2008 at 02:10.
Davros is offline   Reply With Quote
Old 06-Apr-2008, 02:11   #37
Nick
Senior Member
 
Join Date: Jan 2003
Location: Ottawa, Ontario
Posts: 1,783
Default

Quote:
Originally Posted by Davros View Post
No No
im not crying because you have too little free space, but because I have too much
read this you'll understand
http://forum.beyond3d.com/showthread.php?t=47534
Oh. Actually I have more disk space than you then: 74 GB + 200 GB + 500 GB.
Quote:
ps: if theres any of those you'd like me to test with swiftshader give us a holler...
That's not really necessary, but thanks a lot for the offer. If you do find a game that doesn't run correctly any information is higly appreciated though.
Nick is offline   Reply With Quote
Old 06-Apr-2008, 02:13   #38
Davros
Darlek ******
 
Join Date: Jun 2004
Posts: 9,497
Default

Quote:
Originally Posted by Nick View Post
Oh. Actually I have more disk space than you then: 74 GB + 200 GB + 500 GB.
yes but you dont suffer the shame of not having it full up with gaming goodness
Davros is offline   Reply With Quote
Old 06-Apr-2008, 02:15   #39
Nick
Senior Member
 
Join Date: Jan 2003
Location: Ottawa, Ontario
Posts: 1,783
Default

Quote:
Originally Posted by Davros View Post
To be honest i dont.
the guy who makes glidos http://www.glidos.net/ which lets people play dos glide based games (a much bigger market imho) claims to make very little money
Most dx7 and below games actually run fine
as for avp after 2 years of fans pleading with nvidia on their forums and being ignored
some guy turned up found out the problem and fixed it, the fix was later put into the official driver
Yeah, these driver issues are mostly only temporary, leaving little opportunity to offer an alternative, especially in the form of a software renderer.
Nick is offline   Reply With Quote
Old 06-Apr-2008, 02:19   #40
Davros
Darlek ******
 
Join Date: Jun 2004
Posts: 9,497
Default

i was refering to the market for a renderer for dx7 and below games as there are very few which dont work
dx8 and above is a different matter but i think your market is devs/publishers to bundle with their games not end users
Davros is offline   Reply With Quote
Old 06-Apr-2008, 02:41   #41
Nick
Senior Member
 
Join Date: Jan 2003
Location: Ottawa, Ontario
Posts: 1,783
Default

Quote:
Originally Posted by Jawed View Post
Do you have a breakdown for address generation, decompression and filtering, say for simple 8bpc bilinear?
Sorry, the exact details could reveal IP. But you can probably imagine that each of these steps take multiple instructions to implement, versus a nearly 1-to-1 translation for add, mul, dot4, etc. With SSE5/AVX CPUs will even have fused multiply-add... Compared to that texture sampling is very expensive (though per-component shift and multiply-add do optimize address generation). Again, a gather instruction would be quite useful...
Quote:
So I could install RenderMonkey, put the SS DX9.dll in the same folder and get some realtime execution stats from some simple shaders?
Sure. Press 's' to see the stats. By varying resolution you can get an idea of how much time is spent doing vertex processing and setup, versus pixel processing.
Quote:
Presumably, as a result of this, SS doesn't need to have many pixels in flight to hide texturing latency.
Automatic prefetch and out-of-order execution do a great job as far as I'm aware. And Hyper-Threading also means that at a hardware level twice the work is "in flight".
Nick is offline   Reply With Quote
Old 06-Apr-2008, 05:40   #42
darkblu
Senior Member
 
Join Date: Feb 2002
Posts: 2,636
Default

hey Nick, good stuff there! any plans for arbvp1/fp1?
darkblu is offline   Reply With Quote
Old 06-Apr-2008, 09:28   #43
NeARAZ
Junior Member
 
Join Date: Apr 2003
Location: Kaunas, LT
Posts: 97
Send a message via ICQ to NeARAZ
Default

Just tried it on unit & benchmark tests we have for Unity...

Almost all rendering unit tests pass correctly (has some issues with attenuation of point vertex lights and a couple of other minor things)! SwiftShader 1.x demo used to crash on some of those, so 2.0 release is a huge step forward.

Performance wise, I only compared Core2Quad + Radeon 3850 versus same CPU with ShiftShader. Obviously it runs 30 to 100 times slower, but hey. Will compare same CPU with Intel 965 for something more in the same ballpark.

Color me impressed! Amazing work.
__________________
http://unity3d.com | http://aras-p.info
NeARAZ is offline   Reply With Quote
Old 06-Apr-2008, 20:32   #44
Jawed
Regular
 
Join Date: Oct 2004
Location: London
Posts: 9,863
Send a message via Skype™ to Jawed
Default

Some performance and screenshot comparisons, using an 8500GT as a comparison.

http://www.pcgameshardware.de/aid,63..._CPU_berechnet

Jawed
Jawed is offline   Reply With Quote
Old 06-Apr-2008, 21:11   #45
big4ared
Junior Member
 
Join Date: Dec 2007
Posts: 17
Default

Nice job!!

I'm not up to speed on PC assembly, but are you taking advantage of any instructions similar to the VMX ops on the Xenon? If not, how much do you think it would help?
big4ared is offline   Reply With Quote
Old 06-Apr-2008, 21:13   #46
big4ared
Junior Member
 
Join Date: Dec 2007
Posts: 17
Default

Quote:
Originally Posted by big4ared View Post
Nice job!!

I'm not up to speed on PC assembly, but are you taking advantage of any instructions similar to the VMX ops on the Xenon? If not, how much do you think it would help?
Quick clarification...what I meant by the last statement is how much would it help performance if we had an instruction set standard to the Xenon's in all pcs.
big4ared is offline   Reply With Quote
Old 06-Apr-2008, 21:51   #47
Mobius1aic
Quo vadis?
 
Join Date: Oct 2007
Location: Texas, USA
Posts: 1,338
Default

Very interesting, but it'll take a much more powerful CPU to get results worth wanting.
Mobius1aic is offline   Reply With Quote
Old 06-Apr-2008, 22:30   #48
Davros
Darlek ******
 
Join Date: Jun 2004
Posts: 9,497
Default

just tried tribes 3 - vengance (uses unreal engine 2)
and get the following error


the game does run though but im getting i guess 5fps at most
Davros is offline   Reply With Quote
Old 06-Apr-2008, 23:27   #49
Nick
Senior Member
 
Join Date: Jan 2003
Location: Ottawa, Ontario
Posts: 1,783
Default

Quote:
Originally Posted by big4ared View Post
I'm not up to speed on PC assembly, but are you taking advantage of any instructions similar to the VMX ops on the Xenon? If not, how much do you think it would help?
The equivalent for x86 processors is SSE, which SwiftShader already uses extensively. SSE has several extensions of its own, and SwiftShader supports up to SSSE3 (Supplemental SSE3 - introduced with Core 2 Duo). The most recent Penryn architecture based CPUs feature SSE4, and Intel recently released details about AVX, which extends the registers from 128-bit to 256-bit.
Nick is offline   Reply With Quote
Old 06-Apr-2008, 23:34   #50
wingless
Junior Member
 
Join Date: Aug 2007
Location: Houston, Texas
Posts: 79
Default

I wonder if Larrabee can be made to run SwiftShader to showcase how well it renders x86 3D graphics. I can't wait to see comparisons with Nehalem as well.
wingless is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 22:59.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.