Window skinning.. why so slow?

BlitzPlus Forums/BlitzPlus Programming/Window skinning.. why so slow?

Tracer(Posted 2004) [#1]
Using Dan_Upright's window skinning code.. and using a somewhat larger skin (640x400)... it takes seconds to get that window on screen.. does it HAVE to be that slow? I tried converting the skinning code to use lockedpixels and that turned out even SLOWER (near 30 SECONDS to do the skin)..

Not good :(

Tracer


Eikon(Posted 2004) [#2]
Have you considered using panels and setpanelimage?


Tracer(Posted 2004) [#3]
Explain..

Sorry, i haven't used B+ much yet, so i am still experimenting :)

Tracer


Eikon(Posted 2004) [#4]
If you dont need the window to be resizable then you can create a panel the size of the main window and parent the panel to it:
Parent = CreateWindow("", ClientWidth(Desktop())/2-150, ClientHeight(Desktop())/2-150, 300, 300, 0, 1)
Panel = CreatePanel(0, 0, 300, 300, Parent)

Then you can simply use SetPanelImage to put your image behind all controls parented to the panel.


Tracer(Posted 2004) [#5]
However, this doesn't mask out the colors i need removed to make a 'skinned window' right? Cause that's what's slowing things down, the creation of the skin on the window.

Tracer


darklordz(Posted 2004) [#6]
tracer check this it isn't b+ but it is compatible....
http://www.blitzbasic.com/Community/posts.php?topic=28413


Tracer(Posted 2004) [#7]
Yeah darklordz, i use a similar readpixel based routine to make the skin mask away in a color .. it's SLOW.. it takes 4.3 seconds for it to do this on a 728x586 skin.. that's not acceptable.

Tracer