Jump to content


Photo

How to skin a cat?


  • Please log in to reply
260 replies to this topic

Re: How to skin a cat? #41 Rob van der Does

  • Senior Member
  • 7,766 posts

+184
Excellent

Posted 23 October 2012 - 13:13

The 'grouping' you do only slightly reduces the amount of code-lines. The gain on that is there, but only very limited.

You can run E2 in console to see the huge number of skin errors due the the grouping (and hence not finding many items in over 50% of the screens). Of course a serial console is more convenient to read (and store).

Having said all that: I really don't know what the balance is regarding the use of resources and the resulting system performance: (slightly) less memory because of a smaller skin, bur more to do in the sense of looking for/not finding/reporting.

Re: How to skin a cat? #42 littlesat

  • PLi® Core member
  • 57,062 posts

+698
Excellent

Posted 23 October 2012 - 13:54

I tried to do the best balance in the OpenPLi-HD skin...

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: How to skin a cat? #43 BuGless

  • Senior Member
  • 539 posts

+16
Neutral

Posted 23 October 2012 - 15:09

The 'grouping' you do only slightly reduces the amount of code-lines. The gain on that is there, but only very limited.


Agreed. However, keep in mind, that performance gains or losses in this case are not the reason I'm trying to do this. The main reason is maintainability and the ability to easily change something in the layout which propagates automatically to all screens.

You can run E2 in console to see the huge number of skin errors due the the grouping (and hence not finding many items in over 50% of the screens). Of course a serial console is more convenient to read (and store).


You mean, simply starting enigma2 from the command line? Do I need any commandline flags to make it report any problems to stderr?

Having said all that: I really don't know what the balance is regarding the use of resources and the resulting system performance: (slightly) less memory because of a smaller skin, bur more to do in the sense of looking for/not finding/reporting.


The impression I have so far is that the boxes usually have CPU to spare. In any case, the extra variable accesses I'm adding don't seem to amount to any significant slowdown (or speedup, for that matter).

Edited by BuGless, 23 October 2012 - 15:10.


Re: How to skin a cat? #44 BuGless

  • Senior Member
  • 539 posts

+16
Neutral

Posted 23 October 2012 - 15:25


You can run E2 in console to see the huge number of skin errors due the the grouping (and hence not finding many items in over 50% of the screens). Of course a serial console is more convenient to read (and store).

You mean, simply starting enigma2 from the command line? Do I need any commandline flags to make it report any problems to stderr?


Nevermind. Tried it, it works. Interesting. Thanks, this helps (a lot) in some cases to debug the skin.

Re: How to skin a cat? #45 BuGless

  • Senior Member
  • 539 posts

+16
Neutral

Posted 23 October 2012 - 15:36

Incidentally, it seems like I have found the reason things go haywire when rendering a <widget source="key_red"> whilst the only definition available is a <widget name="key_red">. It seems that in the cases where the "source" one blows up, beyond the enclosing bounding box, the "name" one had been assigned an instance of Button instead of StaticText. Still need to figure out how to compensate in the Button class (any hints would be appreciated).


Looking at the newfound console output, it shows:

[Skin] SKIN ERROR in ChannelSelection: 'Button' object has no attribute 'connectDownstream'

which correlates with the other findings. Anyone any idea what a connectDownstream attribute means?

Re: How to skin a cat? #46 Rob van der Does

  • Senior Member
  • 7,766 posts

+184
Excellent

Posted 23 October 2012 - 15:51

Agreed. However, keep in mind, that performance gains or losses in this case are not the reason I'm trying to do this. The main reason is maintainability and the ability to easily change something in the layout which propagates automatically to all screens.

That is absolutely true.


The impression I have so far is that the boxes usually have CPU to spare. In any case, the extra variable accesses I'm adding don't seem to amount to any significant slowdown (or speedup, for that matter).

I do think you're right there. Nevertheless it must have impact, noticeable or not.
But the enormous amount of error reports makes a serial log very difficult to read.

Re: How to skin a cat? #47 lizard-king

  • Member
  • 9 posts

+2
Neutral

Posted 25 October 2012 - 11:53

cos' you call a screen which uses *widget name=""* instead of *widget source=""*.

Re: How to skin a cat? #48 Rob van der Does

  • Senior Member
  • 7,766 posts

+184
Excellent

Posted 25 October 2012 - 12:43

cos' you call a screen which uses *widget name=""* instead of *widget source=""*.

To whom/what are you replying?

Re: How to skin a cat? #49 lizard-king

  • Member
  • 9 posts

+2
Neutral

Posted 25 October 2012 - 19:13

referring to bugless's skin error.;)

Re: How to skin a cat? #50 BuGless

  • Senior Member
  • 539 posts

+16
Neutral

Posted 25 October 2012 - 19:21

cos' you call a screen which uses *widget name=""* instead of *widget source=""*.


Erm, yes, well, thanks, of course.
However, I think I knew that already. I was looking for a more in depth explanation that explains what the function of a connectDownstream attribute/method is.

Re: How to skin a cat? #51 delagroov

  • Senior Member
  • 1,579 posts

+21
Neutral

Posted 17 November 2012 - 09:59

How is progress going on?

i tried your skin.xml in Pli HD skin but i got some half picture and no channel list.

My Tv is set to 1080i and no overscan, but it seems the skin takes more space as available like in screenshot.

Attached Files


Edited by delagroov, 17 November 2012 - 10:00.

Vu+ Solo2 / Atemio Nemesis / Et9000 / TM Twin / Spark2

Astra 1/2/3 en HB / Harmony Touch, & 600
https://github.com/d...in-PLi-Full-HD-Night


Re: How to skin a cat? #52 BuGless

  • Senior Member
  • 539 posts

+16
Neutral

Posted 17 November 2012 - 23:15

How is progress going on?

i tried your skin.xml in Pli HD skin but i got some half picture and no channel list.


I've transformed a lot more screens by now, not finished with all them yet though.
I discovered that the initial resolution I set the skin to (1920 x 1080) is not supported on all boxes.
The good news though is, that the skin will support changing the skin resolution to anything you want, the screens will scale accordingly. What type of STP have you tried it on?

The show stopper at the moment is figuring out what to add to the Button class so it behaves a bit more sane with respect to canvas sizes when invoked as a Source class. If I do this now, it blows up to full-size frames if undefined; ideally it should simply result in a canvas of 0x0 size if undefined.

Edited by BuGless, 17 November 2012 - 23:17.


Re: How to skin a cat? #53 delagroov

  • Senior Member
  • 1,579 posts

+21
Neutral

Posted 18 November 2012 - 07:48

I tested on Ultimo

But do you have already a plugin also..to change the settings then?

Vu+ Solo2 / Atemio Nemesis / Et9000 / TM Twin / Spark2

Astra 1/2/3 en HB / Harmony Touch, & 600
https://github.com/d...in-PLi-Full-HD-Night


Re: How to skin a cat? #54 littlesat

  • PLi® Core member
  • 57,062 posts

+698
Excellent

Posted 18 November 2012 - 08:21

In one of the first lines in the skin.xml you can set the resolution...

Ultimo is indeed not capable to display an ODS of 1920x1080... Only ET boxes and probably the XP can.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: How to skin a cat? #55 delagroov

  • Senior Member
  • 1,579 posts

+21
Neutral

Posted 18 November 2012 - 09:02

I alo tested with,
<output id="0">
<resolution bpp="32" xres="1280" yres="720" />
</output>


but that didn't improve layout issue

Edited by delagroov, 18 November 2012 - 09:03.

Vu+ Solo2 / Atemio Nemesis / Et9000 / TM Twin / Spark2

Astra 1/2/3 en HB / Harmony Touch, & 600
https://github.com/d...in-PLi-Full-HD-Night


Re: How to skin a cat? #56 PhenomXy

  • Senior Member
  • 120 posts

+3
Neutral

Posted 18 November 2012 - 12:23

In one of the first lines in the skin.xml you can set the resolution...

Ultimo is indeed not capable to display an ODS of 1920x1080... Only ET boxes and probably the XP can.

dreamboxes also can display 1080 res skin

Re: How to skin a cat? #57 littlesat

  • PLi® Core member
  • 57,062 posts

+698
Excellent

Posted 18 November 2012 - 18:25

dreamboxes also can display 1080 res skin

This is new to me.... since when??

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: How to skin a cat? #58 MiLo

  • PLi® Core member
  • 14,055 posts

+298
Excellent

Posted 18 November 2012 - 19:45

Actually the 7025 is capable of displaying a 1920x1080 OSD, but the drivers don't support it. Not that it would be useful, because the 7025 doesn't have any output possibility for such a resolution. I guess it's the same for the other boxes - the hardware can do it, but the drivers need to support it. And you'll be sacrificing double the amount of RAM for the OSD.

Edited by MiLo, 18 November 2012 - 19:46.

Real musicians never die - they just decompose

Re: How to skin a cat? #59 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 18 November 2012 - 21:32

I believe the dmm drivers do support it (though not for the 7025 I suppose)

Re: How to skin a cat? #60 PhenomXy

  • Senior Member
  • 120 posts

+3
Neutral

Posted 19 November 2012 - 12:19


dreamboxes also can display 1080 res skin

This is new to me.... since when??

probably since OPli3.0, because with 2.1 was impossible


3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users