Changes To The Skinning Engine: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
(Created page with "== Changes to Kodi 22 (Piers) == === Engine changes === ; New InfoLabels to identify multiple PVR Clients : System.PVRCount - If evaluated as a string or integer returns the count of enabled PVR clients. : ListItem.BackendInstanceName - Returns the name of the PVR client instance for the associated list item. : Renamed: System.PVRCount (int) -> PVR.ClientCount: Number of PVR clients enabled. : Removed: System.PVRCount (string) : Renamed: ListItem.BackendInstanceName (st...")
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 27: Line 27:
: VideoPlayer.ParentalRatingSource (string): Same as the ListItem value, but for the VideoPlayer context.  
: VideoPlayer.ParentalRatingSource (string): Same as the ListItem value, but for the VideoPlayer context.  
: PR: https://github.com/xbmc/xbmc/pull/25664
: PR: https://github.com/xbmc/xbmc/pull/25664
; Changes to image fading
: The amount of images fading at the same time has been limited to two. This improves performance, and might improve image quality in the future.
: PR: https://github.com/xbmc/xbmc/pull/25565


=== Rendering changes ===
=== Rendering changes ===
Line 56: Line 60:
: The texture packer will now try to store size optimized formats, if applicable.
: The texture packer will now try to store size optimized formats, if applicable.
: PR: https://github.com/xbmc/xbmc/pull/25714
: PR: https://github.com/xbmc/xbmc/pull/25714
[[Category:Skin_development]]

Latest revision as of 10:56, 26 October 2024

Changes to Kodi 22 (Piers)

Engine changes

New InfoLabels to identify multiple PVR Clients
System.PVRCount - If evaluated as a string or integer returns the count of enabled PVR clients.
ListItem.BackendInstanceName - Returns the name of the PVR client instance for the associated list item.
Renamed: System.PVRCount (int) -> PVR.ClientCount: Number of PVR clients enabled.
Removed: System.PVRCount (string)
Renamed: ListItem.BackendInstanceName (string) -> ListItem.PVRInstanceName: If selected item is of type PVR (recording, timer, EPG), the name of the instance of the PVR client add-on, as specified by the user in the add-on settings. Empty if the PVR client add-on does not support multiple instances or item is not of type PVR.
Added: ListItem.PVRClientName (string): If selected item is of type PVR (recording, timer, EPG), the name of the PVR client add-on, as specified by the add-on developer. Empty if the item is not of type PVR.
PR: https://github.com/xbmc/xbmc/pull/25159
Added channel logo
ListItem.ChannelLogo (string): The path for the logo of the currently selected radio or TV channel, if available (PVR).
VideoPlayer.ChannelLogo (string): The path for the logo of the currently playing TV channel, if available (PVR).
MusicPlayer.ChannelLogo (string): The path for the logo of the currently playing radio channel, if available (PVR).
PR: https://github.com/xbmc/xbmc/pull/25142
Added parental rating icons for listitems
ListItem.ParentalRatingIcon (string): The path to an icon representing the ListItem.ParentalRatingCode.
ListItem.ParentalRatingSource (string): The source used to determine the ListItem.ParentalRatingCode value.
PR: https://github.com/xbmc/xbmc/pull/24096
Added parental rating icons the video player
VideoPlayer.ParentalRatingCode (string): Same as the ListItem value, but for the VideoPlayer context.
VideoPlayer.ParentalRatingIcon (string): Same as the ListItem value, but for the VideoPlayer context.
VideoPlayer.ParentalRatingSource (string): Same as the ListItem value, but for the VideoPlayer context.
PR: https://github.com/xbmc/xbmc/pull/25664
Changes to image fading
The amount of images fading at the same time has been limited to two. This improves performance, and might improve image quality in the future.
PR: https://github.com/xbmc/xbmc/pull/25565

Rendering changes

GL/GLES - Font rendering improved (no more jitter)
The geometry setup for text strings has been improved. Vertex processing is now being done on the GPU, instead of the CPU. Especially zooming will look smoother. Shadow placement and alignment when rotating will look better.
PR: https://github.com/xbmc/xbmc/pull/24605
PR: https://github.com/xbmc/xbmc/pull/25033
GL/GLES - Added anisotropic filtering support
When enabled in the advanced setting, a GPU might apply a better texture filter when viewing an element at a glancing angle. The effect is highly vendor dependent and might introduce a performance degradation.
PR: https://github.com/xbmc/xbmc/pull/24841
GL/GLES - Implemented front to back rendering
Opaque elements are now rendered from front to back, if enabled via an advanced setting. This is saving resources in otherwise overdrawn areas. There should be no visual changes, but the feature is still experimental.
PR: https://github.com/xbmc/xbmc/pull/22919
GL/GLES - Improved screen clearing behavior at the start of each frame
The same PR also changes details of the screen clearing behavior at the start of the frame. Please make sure to set a background color, if you don't draw over the whole screen. Otherwise, the content of the background is undefined for performance reasons, and might contain junk.
PR: https://github.com/xbmc/xbmc/pull/22919
GL/GLES - Added support for new internal texture formats
With Kodi 22, support for texture formats other than RGBA/BGRA has been added. This includes support for size optimized formats, such as luminance- and alpha-textures, but also compressed textures. Size optimized formats will be expanded to full BGRA on systems without support (currently DX, and partially GLES 2.0).
PR: https://github.com/xbmc/xbmc/pull/25205

Misc Changes

Introducing XBT v3 texture bundles
The XBT texture format has been updated. It now can support all the internal texture formats used by Kodi (https://github.com/xbmc/xbmc/blob/master/xbmc/guilib/TextureFormats.h).
In addition to XBT v2 texture files, Kodi 22 will also be able to read the v3 version of the format.
The texture packer will now try to store size optimized formats, if applicable.
PR: https://github.com/xbmc/xbmc/pull/25714