I have a slideshow skin I'm working on that has transition effects by using a shape meter and setting it as the image meter's container and updating the shape meter using the ActionTimer plugin. It looks and works fine, but whenever it encounters a large image in my gallery (something like 4000x4000 pixels) it spikes my GPU usage and lags the entire OS. When I turn off the transition effects, there's no lag from what I can tell since it's an instant transition. If this is simply a limitation with Rainmeter then I'll just have to move on, maybe find a way to have it skip transition effects if an image surpasses a size value. I'm just hoping to see if there's some way to optimize it for large images. I appreciate any help.
Here's a snippet of my code:
For context as to why it matters to me, I'm trying to make skins that are as feature-rich as Gadgets from Windows Sidebar, and the slideshow gadget in that had a bunch of different transition effects. I've managed to replicate a few of them like the blinds, barn, and fade effects so far.
Here's a snippet of my code:
Code:
; Measures[MeasureFadeTransition]Measure=PluginPlugin=ActionTimerActionList1=Set | Repeat TransIn,20,20 | Set2Set=[!SetVariable FadeAlpha "0"][!SetVariable CurrentPhoto [MeasurePhoto]][!SetOption MeterPhoto Container "MeterPhotoFadeMask"][!UpdateMeter MeterPhoto][!SetOption MeterPhotoFadeMask Shape "Rectangle 0,0,#BaseW#,#YSize# | StrokeWidth 0 | Fill Color 0,0,0,#FadeAlpha#"][!UpdateMeter MeterPhotoFadeMask][!ShowMeter MeterPhotoFadeMask][!ShowMeter MeterPrevPhoto][!Redraw][!UpdateMeasure #CURRENTSECTION#]TransIn=[!SetVariable FadeAlpha "(Clamp((#FadeAlpha#+(255/20)),0,255))"][!SetOption MeterPhotoFadeMask Shape "Rectangle 0,0,#BaseW#,#YSize# | StrokeWidth 0 | Fill Color 0,0,0,#FadeAlpha#"][!UpdateMeter MeterPhotoFadeMask][!Redraw][!UpdateMeasure #CURRENTSECTION#]Set2=[!SetOption MeterPhoto Container ""][!UpdateMeter MeterPhoto][!HideMeter MeterPhotoFadeMask][!HideMeter MeterPrevPhoto][!Redraw][!DisableMeasure #CURRENTSECTION#]DynamicVariables=1UpdateDivider=-1Disabled=1; Meters[MeterPrevPhoto]Meter=ImagePreserveAspectRatio=2UseExifOrientation=1X=[MeterPhoto:X]Y=[MeterPhoto:Y]W=[MeterPhoto:W]H=[MeterPhoto:H][MeterPhotoFadeMask]Meter=ShapeShape=Rectangle 0,0,#BaseW#,#YSize# | StrokeWidth 0 | Fill Color 0,0,0,#FadeAlpha# UpdateDivider=-1Hidden=1[MeterPhoto]Meter=ImageX=4Y=5W=120H=90ImageName=#CurrentPhoto#PreserveAspectRatio=2UseExifOrientation=1UpdateDivider=-1
Statistics: Posted by DanTheGuy720 — Yesterday, 6:22 pm — Replies 4 — Views 78