Icon of Sin / Baphomet
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > Projected release for 3.33.50
 
Author
All times are GMT. The time now is 22:07. Post New Thread    Post A Reply
Quasar
Moderator


Posts: 2200
Registered: 08-00


I'm fairly confident that I will be able to release 3.33.50 either at the end of this week or the beginning of next week. This is fall break week at school. I'll be working alone Wednesday, and off work Thursday and Friday. This should give me plenty of time to finish up everything remaining (mainly, polyobject sound sequence support, saving/loading sound sequences, and finishing joe's pillars, Small functions, and steam generator thing).

It has not coincidentally been approximately a year since the release of 3.33.02. 3.33.33 was released back in May, which seems like a long time, but we did have two SVN maintenance releases thanks to joe which helped offset the delay this time ;)

There will probably *not* be a fix to wobbly lines in 3.33.50. I'm beginning to think that writing a new, floating-point-based renderer might be a good idea. The renderer is largely self-contained, and so with a few function-pointer-bearing structs, it should be possible to allow more than one easily. My main concern still remains the overhead of float->int conversions on Intel processors, as these would be necessary at some point before column and span drawing are done. Apparently int->float isn't that bad, and so the interface between the engine and renderer, with one remaining in fixed-point only, shouldn't be that much of a problem.

Old Post 10-17-06 15:43 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Julian Hope


Posts: 2539
Registered: 04-75



Quasar said:
My main concern still remains the overhead of float->int conversions on Intel processors, as these would be necessary at some point before column and span drawing are done.

Asm to the rescue

Old Post 10-17-06 17:42 #
Julian Hope is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
david_a


Posts: 923
Registered: 09-02


According to some guy that presumably works for them, Microsoft uses SSE2 for double-to-int in .NET:

we didn't do much optimization work in the JIT for v1.1, except for some very targetted ones that offered a significant speed boost in exchange for little dev work [...], such as the double to int cast (40x speed increase by just using SSE2 instruction)

Might be something else to look into.

Old Post 10-17-06 18:47 #
david_a is offline Profile || Blog || PM || Email || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 2200
Registered: 08-00


I suppose the old-fashioned trick of providing assembly for the Intel platform wouldn't be out of line. Only problem is, how to do this in a way that doesn't end up generating unnecessary function calls on platforms that can just do x = (int)doublevar; without a performance penalty? :P

Old Post 10-17-06 18:57 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Julian Hope


Posts: 2539
Registered: 04-75



Quasar said:
I suppose the old-fashioned trick of providing assembly for the Intel platform wouldn't be out of line. Only problem is, how to do this in a way that doesn't end up generating unnecessary function calls on platforms that can just do x = (int)doublevar; without a performance penalty? :P

inline anyone?

Old Post 10-17-06 19:28 #
Julian Hope is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Graf Zahl
Forum Legend


Posts: 4193
Registered: 01-03


Look for 'quickertoint' in the ZDoom source. There's different implementations for all platforms there. You just have to put in a few #ifdefs to get the correct one.

SSE2 is not a real option because it's only supported by modern processors. But you don't really need it. As long as you can get rid of the function call for the conversion it isn't such a problem.

Old Post 10-17-06 21:22 #
Graf Zahl is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 2200
Registered: 08-00



Julian Hope said:

inline anyone?


Unfortunately inline is only a "suggestion" which compilers may ignore at their whim based on some metric they think makes inlining worse but in fact kills the performance of your program. Apparently Visual C++ has a __forceinline keyword (which I've never seen until now) but that's hardly a generalized solution :P

Graf: thanks for the pointer. Although I doubt the floating-point renderer, if I do implement one, will be targeted at low-end machines anyway, I don't think I want to rush into something as specific as SSE2 either ;)

Old Post 10-17-06 22:17 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy Report to mod || IP || Edit/Delete || Quote
All times are GMT. The time now is 22:07. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > Projected release for 3.33.50

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Forums Directory