Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NUI] Add View.OffScreenRendering property #6516

Merged
merged 1 commit into from
Dec 12, 2024

Conversation

jmmhappy
Copy link
Contributor

Description of Change

Adding View property that enables/disables offscreen rendering.
The view draws at offscreen buffer as itself a root node(subtree). The cached result may reduce repetitive render calls by occasion.
User can define the draw's refresh rate(RefreshAlways or RefrashOnce), or disable offscreen rendering(None).

API Changes

The new property can be used as follows:
View.OffScreenRendering = View.OffScreenRenderingType.RefreshOnce

@TizenAPI-Bot
Copy link
Collaborator

Public API Changed

Please follow the ACR process for the changed API below.

Added: 4, Removed: 0, Changed: 0

Added

+ /// <since_tizen>12</since_tizen
+ Tizen.NUI.BaseComponents.View/OffScreenRenderingType

+ /// <since_tizen>12</since_tizen
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::None

+ /// <since_tizen>12</since_tizen
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::RefreshAlways

+ /// <since_tizen>12</since_tizen
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::RefreshOnce

Internal API Changed

Added: 2, Removed: 0, Changed: 0

Added

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.Binding.BindableProperty Tizen.NUI.BaseComponents.View::OffScreenRenderingProperty

+ /// <since_tizen>12</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View::OffScreenRendering()

src/Tizen.NUI/src/public/BaseComponents/View.cs Outdated Show resolved Hide resolved
src/Tizen.NUI/src/public/BaseComponents/View.cs Outdated Show resolved Hide resolved
src/Tizen.NUI/src/public/BaseComponents/View.cs Outdated Show resolved Hide resolved
@jmmhappy jmmhappy force-pushed the offscreen_rendering branch from e2bbcae to b64eab4 Compare December 11, 2024 07:47
@TizenAPI-Bot
Copy link
Collaborator

Internal API Changed

Added: 5, Removed: 0, Changed: 0

Added

+ /// <since_tizen>12</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View::OffScreenRendering()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.View/OffScreenRenderingType

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::None

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::RefreshAlways

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::RefreshOnce

@TizenAPI-Bot
Copy link
Collaborator

Internal API Changed

Added: 5, Removed: 0, Changed: 0

Added

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View::OffScreenRendering()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.View/OffScreenRenderingType

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::None

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::RefreshAlways

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::RefreshOnce

Copy link
Contributor

@hinohie hinohie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please make simple sample in future?

Copy link
Contributor

@Seoyeon2Kim Seoyeon2Kim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.
As Eunki mentioned, adding a sample to use OffScreenRendering would be great in the future.

src/Tizen.NUI/src/public/RenderEffects/RenderEffect.cs Outdated Show resolved Hide resolved
@jmmhappy jmmhappy force-pushed the offscreen_rendering branch from 3003aff to c52f605 Compare December 12, 2024 02:20
@TizenAPI-Bot
Copy link
Collaborator

Internal API Changed

Added: 5, Removed: 0, Changed: 0

Added

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View::OffScreenRendering()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.View/OffScreenRenderingType

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::None

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::RefreshAlways

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.View/OffScreenRenderingType Tizen.NUI.BaseComponents.View/OffScreenRenderingType::RefreshOnce

@hinohie hinohie merged commit 183047b into Samsung:DevelNUI Dec 12, 2024
3 checks passed
@jmmhappy jmmhappy deleted the offscreen_rendering branch December 12, 2024 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants