What are the drawbacks of the Release - Fast FPU build?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

What are the drawbacks of the Release - Fast FPU build?

Post by MasterGod »

I've been wondering, what drawbacks does the "Release - Fast FPU" has because I guess if it hadn't there would be only Debug and that..

Thanks.
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

It might give you imprecise results.
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

hybrid wrote:It might give you imprecise results.
Can you explain me maybe, why? :wink:
Which configuration causes the impreciseness. (what a word :lol: )
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
bitplane
Admin
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England
Contact:

Post by bitplane »

see microsoft's article on this-
http://msdn2.microsoft.com/en-us/library/e7s85ffb.aspx
msdn wrote:By default, the compiler uses the coprocessor's 80-bit registers to hold the intermediate results of floating-point calculations. This increases program speed and decreases program size. Because the calculation involves floating-point data types that are represented in memory by less than 80 bits, however, carrying the extra bits of precision (80 bits minus the number of bits in a smaller floating-point type) through a lengthy calculation can produce inconsistent results.
(my emphasis)

So we're talking low level compiler optimizations that do not conform to the IEEE float standard, but are faster. Also see /Oi
http://msdn2.microsoft.com/en-us/library/f99tchzc.aspx
msdn wrote:x86 Specific

The intrinsic floating-point functions do not perform any special checks on input values and so work in restricted ranges of input, and have different exception handling and boundary conditions than the library routines with the same name. Using the true intrinsic forms implies loss of IEEE exception handling, and loss of _matherr and errno functionality; the latter implies loss of ANSI conformance. However, the intrinsic forms can considerably speed up floating-point-intensive programs, and for many programs, the conformance issues are of little practical value.
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

Thanks.
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

So it's not necessarily that much less precision, but no error handling/standard conformance? Sweet, gotta try this... (BlindSide is all for the non-conformance :wink: )
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Castaa
Posts: 39
Joined: Mon Jul 07, 2008 7:38 pm
Location: San Francisco
Contact:

Post by Castaa »

The info posted here is great. Thank you.

Does anyone have some experiences to how much this configuration (Fast FPU) improve an Irrlicht graphics intensive application?
My game: Star Sonata
Star Sonata is a massively multiplayer space game.
joshcryer
Posts: 46
Joined: Thu Sep 13, 2007 8:57 am
Contact:

Post by joshcryer »

This question came up on IRC and I found this post on Google. I'm also wondering if anyone did any benchmarks or whether or not this actually has a perceptable benefit. I didn't notice it in my software.
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Any benefits will be application dependent. I'm wondering whether we should just remove the 'fast' targets, since anyone who knows enough about the implications to make an informed decision to use them could trivially do their own build with /fp:fast or -ffast-math if they want.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Post Reply