Performance considerations when skinning
#61
(2023-03-29, 11:32)realcopacetic Wrote: Be careful with Photoshop. Exporting a PNG as grayscale is likely to convert it back into an RGB at the export stage. Same with Save for Web. You need to use Save and then choose smallest (slowest) for the ideal grayscale image. https://community.adobe.com/t5/photoshop...p/12656783

Thank you for your interest in my post, I am grateful for your reply, in fact I changed my plans because photoshop I think is not very good in this, I used Affinity Photo 2, much more valid for exporting in grayscale and multiple editing always in grayscale.


@sarbes
I hope we can use this version or an updated version of the Texture Packer, as scott967 previously mentioned, to make better use of grayscale PNGs in Kodi 21.
If i helped you, you can thank me with a thumbs up 👍 below, thanks 🙏.
Kodi 20.x stable release | Skin Confluence (by Jezz_X)
I like editing skins ❤
Reply
#62
This was a very interesting read.

I tried to use RenderDoc, however, I have not been successful following the Debugging_via_Renderdoc (wiki).
DXGI_ERROR_DEVICE_REMOVED

I've somewhat recently returned to skinning and was curious how my skin could be improved Huh

If you had the time to take a look at my current version, I would truly appreciate any recommendations that you had Smile

GitHub link
Reply
#63
I ask the administrators (especially @sarbes), but will it be necessary to use this in advancedsettings, or will this be implemented by default in the future version of kodi and will already be active by default?


xml:
<advancedsettings version="1">
   <gui>
     <fronttobackrendering>true</fronttobackrendering>
   </gui>
</advancedsettings>


I thank you all.
If i helped you, you can thank me with a thumbs up 👍 below, thanks 🙏.
Kodi 20.x stable release | Skin Confluence (by Jezz_X)
I like editing skins ❤
Reply
#64
(2022-06-18, 02:26)sarbes Wrote: For most skins, the info dialog seems to cover the whole screen. Even in those cases, the background elements are still being processed and rendered. It would be very beneficial to set them to being invisible via the <visible> tag. The GUI engine has no way to tell when underlying elements are covered, so everything has to be rendered If there is a reason why this isn't done I'm not aware of, please tell me.
I tried to add this to my skin and I found out you can only use WindowOpen or WindowClose animations on windows so there's no way to use Conditional fade animations based on dialog visibility.
Reply
#65
(2022-06-18, 02:26)sarbes Wrote: In the content view, you can ditch the uniform filtering texture and animate the diffuse color as soon as https://github.com/xbmc/xbmc/pull/21400 drops.
So instead of using a transparent black texture I should use a solid white one with a diffuse fade animation instead?
Reply
#66
This is one of the most important threads in the skin development forum.

IMHO someone should create a sticky thread (like Skin Engine changes) with all the progress about this in Kodi core and a guidance for skinners to implement these optimizations to the skins.

In any case thanks @sarbes for all your work and for sharing all this knowledge with us.

Keep it up.


Cheers
Nessus
Reply
#67
(2023-11-04, 17:36)nessus Wrote: IMHO someone should create a sticky thread (like Skin Engine changes) with all the progress about this in Kodi core and a guidance for skinners to implement these optimizations to the skins.

I've stickied this thread now.
I think the wiki page in Sarbes' first post is probably the place to go for documentation of changes. GUI works seems fairly involved so probably not changing frequently enough from the skinning side of things to need a running history -- the wiki page seems to cover everything and can be updated if there are more PRs related to GUI optimisations for skinning

For reference, these github filters are useful for finding merged PRs relating to GUI stuff (not perfect but generally captures most and the description will talk about rationale).
https://github.com/xbmc/xbmc/issues?q=la...s%3Amerged
https://github.com/xbmc/xbmc/issues?q=la...s%3Amerged
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
#68
@jurialmunkey
If I can ask you why I think Sarbes is no longer active...

Will we have to use this code when we have the stable version of kodi 21 omega?

<advancedsettings version="1">
    <gui>
      <fronttobackrendering>true</fronttobackrendering>
    </gui>
</advancedsettings>


To be able to enable this rendering?
or will it already be active by default and we shouldn't do anything?


Thanks for your help
If i helped you, you can thank me with a thumbs up 👍 below, thanks 🙏.
Kodi 20.x stable release | Skin Confluence (by Jezz_X)
I like editing skins ❤
Reply
#69
I'm still active, just not as much and not on the forum. Private life got the best of me.

Unfortunately due to the movie version issue delaying the branching of Omega, I can't merge my current progress. I've restructured a lot of code and split it into smaller chunks, which are easier to review. Omega won't receive front to back rendering, or single channel textures
 
(2023-09-18, 22:09)Hitcher Wrote:
(2022-06-18, 02:26)sarbes Wrote: In the content view, you can ditch the uniform filtering texture and animate the diffuse color as soon as 21400 (PR) drops.
So instead of using a transparent black texture I should use a solid white one with a diffuse fade animation instead?
Ditch the texture and modulate the diffuse color of the underlying element directly. It should bring very similar results.
(2023-09-18, 17:18)Hitcher Wrote:
(2022-06-18, 02:26)sarbes Wrote: For most skins, the info dialog seems to cover the whole screen. Even in those cases, the background elements are still being processed and rendered. It would be very beneficial to set them to being invisible via the <visible> tag. The GUI engine has no way to tell when underlying elements are covered, so everything has to be rendered If there is a reason why this isn't done I'm not aware of, please tell me.
I tried to add this to my skin and I found out you can only use WindowOpen or WindowClose animations on windows so there's no way to use Conditional fade animations based on dialog visibility.
If I have the time, I'll check on that.
Reply
#70
(2023-12-29, 20:59)sarbes Wrote: If I have the time, I'll check on that.
I actually worked around it by putting all the controls for those windows in a group with the visible condition to hide it when the info dialog is open.
xml:
<controls>
<control type="group">
<visible>!Window.IsVisible(movieinformation)</visible>
...
</control>
</controls>
Reply
#71
(2023-12-29, 20:59)sarbes Wrote: Ditch the texture and modulate the diffuse color of the underlying element directly. It should bring very similar results.
I did try doing this but I could never get the same effect. The overlay is 45% transparent black but using that value in an animation 73000000 just results in everything being black.
Reply
#72
(2023-12-29, 21:27)Hitcher Wrote:
(2023-12-29, 20:59)sarbes Wrote: Ditch the texture and modulate the diffuse color of the underlying element directly. It should bring very similar results.
I did try doing this but I could never get the same effect. The overlay is 45% transparent black but using that value in an animation 73000000 just results in everything being black.
Yeah, that would be expected. Whatever values R/G/B have, you are multiplying them with zero. The value you want would be something like FF737373. Alpha stays the same, but R/G/B get toned down. It functions exactly like normal diffuse color behavior, just animated.
Reply
#73
(2023-12-29, 22:50)sarbes Wrote: Yeah, that would be expected. Whatever values R/G/B have, you are multiplying them with zero. The value you want would be something like FF737373. Alpha stays the same, but R/G/B get toned down. It functions exactly like normal diffuse color behavior, just animated.
I get it now, thanks.
Reply
#74
(2023-12-29, 20:59)sarbes Wrote: I'm still active, just not as much and not on the forum. Private life got the best of me.

Unfortunately due to the movie version issue delaying the branching of Omega, I can't merge my current progress. I've restructured a lot of code and split it into smaller chunks, which are easier to review. Omega won't receive front to back rendering, or single channel textures

Forgive me, I saw that you were inactive for some time and so I naively thought so, I understand you perfectly.

Can I ask you if "front to back rendering" or "single channel textures" will be added with an update in this version 21 omega, or will we have to wait for a new version of kodi like kodi 22 P.. in the future?
In case of addition, should we activate them with the command: <fronttobackrendering>true</fronttobackrendering> in "advancedsettings" or is everything automatic?

I ask because they are important versions that in my opinion deserve to be added, performance and stability are much more important even compared to other new features.

Sorry but I only saw it now, as I wasn't tagged, so I didn't look at the thread anymore...


Thank you very much for your precious help.
If i helped you, you can thank me with a thumbs up 👍 below, thanks 🙏.
Kodi 20.x stable release | Skin Confluence (by Jezz_X)
I like editing skins ❤
Reply

Logout Mark Read Team Forum Stats Members Help
Performance considerations when skinning0