If I take the following code:
and replace the call to WindowRectOp with a call to WindowGradient with a second color, my channel capture miniwindow (which redraws 5 pretty small 3D rects each time the resize drag handler is called) can no longer keep up with even very slow user motion when dragging around the resizing tab. The code in its condition as presented above works flawlessly, and keeps up with even the fastest user motion as long as the window doesn't get too large.
Is there any way to bridge the performance gap here?
-- replacement for WindowRectOp action 5, which allows for a 3D look while maintaining color theme
-- Requires global theme.HIGHLIGHT, theme.FACE, theme.INNERSHADOW, and theme.OUTERSHADOW rgb colors to be set.
function DrawThemed3DRect(Window, left, top, right, bottom)
WindowRectOp(Window, 2, left, top, right, bottom, theme.FACE)
WindowLine(Window, left, top, right, top, theme.HIGHLIGHT, 0 + 0x0200, 1)
WindowLine(Window, left, top, left, bottom, theme.HIGHLIGHT, 0 + 0x0200, 1)
WindowLine(Window, left, bottom-2, right, bottom-2, theme.INNERSHADOW, 0 + 0x0200, 1)
WindowLine(Window, right-2, top, right-2, bottom-2, theme.INNERSHADOW, 0 + 0x0200, 1)
WindowLine(Window, left, bottom-1, right, bottom-1, theme.OUTERSHADOW, 0 + 0x0200, 1)
WindowLine(Window, right-1, top, right-1, bottom-1, theme.OUTERSHADOW, 0 + 0x0200, 1)
endand replace the call to WindowRectOp with a call to WindowGradient with a second color, my channel capture miniwindow (which redraws 5 pretty small 3D rects each time the resize drag handler is called) can no longer keep up with even very slow user motion when dragging around the resizing tab. The code in its condition as presented above works flawlessly, and keeps up with even the fastest user motion as long as the window doesn't get too large.
Is there any way to bridge the performance gap here?