Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £129! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £179! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

Skinning concept

@2stein

Here is modification of your code so to not need to do the haze in the skin


In this way it can work on all distros without to worry about the performance.

The amount of the dim you can put in your plugin config.

But you must work more on the threading and list scrolling since now it download and render images immediately which make it slow.

P.S. also skinning is done wrong. You should define a screen skin embedded and then in any particular skin this to be able to be overwritten. In this way with in code xmls for the skin is too complex and not flexible.
this is a great workaround i had not thought of. performance is now very similar to the dreamos version (where it is all handled by the skin). thanks a lot!

i know that my skinning approach is quick and dirty. i didn't want to spend effort to implement 2 skins: one embedded generic skin and a e2-darkos version. as long as i'm the only user that should be fine.
 
Well you can make it public plugin and then other people can use it as well...
But for that you must fix the skinning and list scrolling...
 
So there is a problem with your code.

If you scroll down fast, e.g. 5 items, it renders all 5 images. That is wrong. You need to remember the last requested image, and only render that image, if not, abort. Why render 5 images when you just need the last one?

In Pluto for ViX you can see this with the video cover rendering.

Code:
    def downloadPostersCallback(self, filename, name):
        if name == self.picname:  # check if this is the current image we are waiting for
            self.decodePoster(filename)

That way "self.decodePoster" only gets called if it relates to the current list item.

 
scrolling thru the list i found some strange rendering (upper part of the list and screen title)... any idea why this happens?
 

Attachments

  • rendering_error.webp
    rendering_error.webp
    89.6 KB · Views: 4
Hmm maybe the way list is formed...
I dont get that here though...
 
P. S. Why dont you use normal listbox? Current list behaves a bit strange... Also for pages there is a pager addon that you can use for display current page and total of pages...
 
the answer is pretty simple... when i created the dreamos version, i didn't know better :-)
 
something seems not right on my dm900 with rendering.
it's not only in my plugin, but also in gui (see selection bar and header)
even when i restart e2 it persists. box reboot "fixes" it for a while.
could be memory corruption or something...
 

Attachments

  • rendering_error.webp
    rendering_error.webp
    74 KB · Views: 4
Last edited:
yes, probably memory leak:

15:33:01.5653 [gAccel] alloc failed
15:33:01.5654 [gSurface] ERROR: accelAlloc failed
15:33:01.7425 [gAccel] alloc failed
15:33:01.7425 [gSurface] ERROR: accelAlloc failed
 
for testing i simplified the skin a bit:


Code:
    <screen name="Screen_Window_Full_Backdrop">
        <!--panel name="Screen_Window_Full" /-->
        <panel position="15,75" size="1892,925">
            <widget name="backdrop" position="0,0" scale="1" size="e,e" zPosition="-9"/>
        </panel>
    </screen>

i still get alloc errors:
Code:
15:47:25.6482 [gSurface] ERROR: accelAlloc failed
15:47:37.8783 [gSurface] ERROR: accelAlloc failed
15:47:38.0496 [gSurface] ERROR: accelAlloc failed
15:47:43.2936 [gSurface] ERROR: accelAlloc failed
15:47:46.1955 [gSurface] ERROR: accelAlloc failed
15:47:47.3816 [gSurface] ERROR: accelAlloc failed
15:47:51.2157 [gSurface] ERROR: accelAlloc failed
15:47:52.1887 [gSurface] ERROR: accelAlloc failed
15:48:03.0890 [gSurface] ERROR: accelAlloc failed
15:48:04.4361 [gSurface] ERROR: accelAlloc failed
15:48:08.8152 [gSurface] ERROR: accelAlloc failed
15:48:10.2256 [gSurface] ERROR: accelAlloc failed
15:48:14.2950 [gSurface] ERROR: accelAlloc failed
15:48:15.4360 [gSurface] ERROR: accelAlloc failed
15:48:19.0496 [gSurface] ERROR: accelAlloc failed
15:48:19.7377 [gSurface] ERROR: accelAlloc failed
15:48:20.5467 [gSurface] ERROR: accelAlloc failed
15:48:33.3812 [gSurface] ERROR: accelAlloc failed
15:48:34.2210 [gSurface] ERROR: accelAlloc failed
15:48:35.0771 [gSurface] ERROR: accelAlloc failed
15:48:35.8886 [gSurface] ERROR: accelAlloc failed
15:48:36.8504 [gSurface] ERROR: accelAlloc failed
15:48:42.1173 [gSurface] ERROR: accelAlloc failed
15:48:49.3770 [gSurface] ERROR: accelAlloc failed
15:48:51.8951 [gSurface] ERROR: accelAlloc failed
15:49:06.7135 [gSurface] ERROR: accelAlloc failed
15:49:07.5107 [gSurface] ERROR: accelAlloc failed
15:49:14.2153 [gSurface] ERROR: accelAlloc failed
15:49:22.1522 [gSurface] ERROR: accelAlloc failed
15:49:26.9195 [gSurface] ERROR: accelAlloc failed
15:49:33.1562 [gSurface] ERROR: accelAlloc failed
15:49:45.5143 [gSurface] ERROR: accelAlloc failed
15:49:45.9915 [gSurface] ERROR: accelAlloc failed
15:49:46.0917 [gSurface] ERROR: accelAlloc failed
15:49:54.7609 [gSurface] ERROR: accelAlloc failed
15:49:56.8612 [gSurface] ERROR: accelAlloc failed
15:49:58.2676 [gSurface] ERROR: accelAlloc failed

but no visable rendering errors anymore.

looks like the skin engine is not able to handle my skin.
 
Very weird... I dont get that on dm920.
I get those errors too. Memory alloc fail because there is not acceleration available....
 
in the meantime i have a version that scrolls nicely without displaying covers or backdrop while power scrolling.
i can reproduce the error by just scrolling long enough. with the reduced skin i cant reproduce the error independent of how long i scroll.
if you want i can attach an updated ipk.
 
just naked backdrop, cover and list.
btw. i also reduced backdrop size from 4k resolution to hd... didn't help.
 

Attachments

  • reduced.webp
    reduced.webp
    181.4 KB · Views: 3
No is not the backdrop...
Maybe there is indeed leak somewhere. But i cant reproduce this on dm920. Interesting...
 

OpenViX Feeds Status

Back
Top