Home | Gallery | Forum | Services | Webmail | Archive | Links | Contact Us | About Us
OS2 World.Com Forum
OS2 World.Com Online Discussion Forum.
Index / OS/2 - SIGs / Doodle's ScreenSaver
author message
Love that new Matrix module
Post a new topic Reply to this Topic Printable Version of this Topic Forward this Topic to your Friend Topic Commands (for administrator or moderators only)
cytan
Premium member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 115
since: 05 Dec, 2003
1. Love that new Matrix module
Reply to this topic with quote Modify your message
Hi,
I'd just like to thank Doodle for the Matrix module. It's really cool! I really love the extra messages like the time and "ecomstation" appearing in the display.

cytan

Date: 14 Mar, 2006 on 16:01
sXwamp
Normal member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 19
since: 29 Oct, 2004
2. Re:Love that new Matrix module
Reply to this topic with quote Modify your message
Hi,

Thanks Doodle, I was using desktop painter becuase its Matrix module, now I just installed your screensaver will be using that instead!!!

sXwamp

Date: 15 Mar, 2006 on 00:31
Doodle
Premium member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 52
since: 04 Jan, 2005
3. Re:Love that new Matrix module
Reply to this topic with quote Modify your message
Thanks guys, it's always good to hear that other people like what you did.

Doodle

Date: 15 Mar, 2006 on 13:56
rudi
Normal member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 35
since: 03 Oct, 2004
4. Re:Love that new Matrix module
Reply to this topic with quote Modify your message
Yes, it's very cool !

However, I'd love to see the ability to adjust the speed of the falling letters as well as some optimizations w.r.t CPU usage.

Date: 15 Mar, 2006 on 16:34
Doodle
Premium member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 52
since: 04 Jan, 2005
5. Re:Love that new Matrix module
Reply to this topic with quote Modify your message

rudi (15 Mar, 2006 16:34):
Yes, it's very cool !

However, I'd love to see the ability to adjust the speed of the falling letters as well as some optimizations w.r.t CPU usage.


Try to play with the configuration window of the module. You can try lowering the FPS and the resolution to get smaller CPU load.
If you turn off smooth falling letters, then the FPS will also determine the speed of falling of the letters. I know it's not exactly what you want, but that's what we have now. Maybe I'll do something for this later.

Btw, any assembly/mmx/sse/... hackers are welcome to speed up the blur code and the code which converts PAL8 image format to YUV422 image format! I don't have the knowledge (and the time) to do it myself. :/

Doodle

Date: 15 Mar, 2006 on 17:46
rudi
Normal member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 35
since: 03 Oct, 2004
6. Re:Love that new Matrix module
Reply to this topic with quote Modify your message

Doodle (15 Mar, 2006 17:46):
Btw, any assembly/mmx/sse/... hackers are welcome to speed up the blur code and the code which converts PAL8 image format to YUV422 image format! I don't have the knowledge (and the time) to do it myself. :/
Doodle

How about starting with some old style loop optimizations first:


void printChar(PUCHAR vs2, int x, int y, UCHAR ch, UCHAR dv, int bConvert)
{
UCHAR c;
ULONG i, j;
PUCHAR pchFntCell, pchDstCell;

if(x<0) return;
if(y<0) return;
if(x+16>iBufferXSize) return;
if(y+24>iBufferYSize) return;

if (bConvert)
{
c = 0;
for (i=0; i<sizeof(achLetters); i++)
if (achLetters[i] == ch)
{
c = i;
break;
}
} else
c = ch;

pchFntCell = mtxfont + (c@)*16 + (c/40)*24*640;
pchDstCell = vs2 + x + y*iBufferXSize;

for(i=0;i<24;i++)
{
for(j=0;j<16;j++) pchDstCell[j] = pchFntCell[j] / dv;
pchFntCell += 640;
pchDstCell += iBufferXSize;
}
}


Also, don't use (U)SHORTs unless it is *ABOSLUTELY* neccessary. They usually slow down processing.

Date: 16 Mar, 2006 on 16:42
Doodle
Premium member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 52
since: 04 Jan, 2005
7. Re:Love that new Matrix module
Reply to this topic with quote Modify your message
Thanks for the code, it works pretty well.

For those who are interested in a faster binary version (with Rudi's code), try this:
http://scenergy.dfmk.hu/doodle/matrix.dll

(to install it, you'll have to unlock your current matrix.dll, overwrite that with this one, and restart your desktop)

Doodle

Date: 17 Mar, 2006 on 20:18
rudi
Normal member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 35
since: 03 Oct, 2004
8. Re:Love that new Matrix module
Reply to this topic with quote Modify your message

Doodle (17 Mar, 2006 20:1:
Thanks for the code, it works pretty well.

I just sent you another version which uses some MMX assembler code. The performance gain compared against the original is quiet impressive.


Doodle (17 Mar, 2006 20:1:
(to install it, you'll have to unlock your current matrix.dll, overwrite that with this one, and restart your desktop)

Isn't is easier to just switch to another saver module, replace the DLL and switch back .

Date: 18 Mar, 2006 on 13:40
Doodle
Premium member
in user

View this member's profileSearch all posts from this memberSend an email to this member
posts: 52
since: 04 Jan, 2005
9. Re:Love that new Matrix module
Reply to this topic with quote Modify your message
last updated at 20 Mar, 2006 12:42 (1 times)

rudi (18 Mar, 2006 13:40):

I just sent you another version which uses some MMX assembler code. The performance gain compared against the original is quiet impressive.


Thanks!
I've compiled it and here is the binary result for those who're interested:
http://scenergy.dfmk.hu/doodle/Matrix.dll


rudi (18 Mar, 2006 13:40):

Isn't is easier to just switch to another saver module, replace the DLL and switch back .


I've noted that some modules using WarpOverlay stay locked until the process (the WPS) dies, even if the DLL itself is (in theory) already unloaded.

Doodle

Date: 20 Mar, 2006 on 09:40
Love that new Matrix module
Post a new topic Reply to this Topic Printable Version of this Topic Forward this Topic to your Friend Topic Commands (for administrator or moderators only)
All times are CET+1. < Prev. | P. 1 | Next >
Go to:
 

Powered by UltraBoard 2000 Standard Edition,
Copyright © UltraScripts.com, Inc. 1999-2000.
Home | Gallery | Forums | Services | Webmail | Archive | Links | Contact Us | About Us
© OS2 World.Com 2000-2004