whidbey
Topic Author
Posts: 49
Joined: 26 May 2019, 07:16

a performence question

31 May 2019, 03:31

virtual machine /xen /1G memory 2core CPU. running visual studio2015 well with low cpu <10% and other tools.
but running "Noesis" samples even hello world would cost my cpu >40% . not only Noeise,but also mygui ,some other gui like sdl2 either.
what's the problem?

regards
 
whidbey
Topic Author
Posts: 49
Joined: 26 May 2019, 07:16

Re: a performence question

01 Jun 2019, 16:58

i think is the problem of gpu render ;can i disable gpu feature?
 
User avatar
jsantos
Site Admin
Posts: 2959
Joined: 20 Jan 2012, 17:18
Contact:

Re: a performence question

03 Jun 2019, 12:13

Our application framework is setup to render continuously everything per frame. This is the common scenario in videogames. But you can avoid that in your own integration if you want. See for example the IRenderer interface:
    /// Applies last changes happened in the view. This function does not interact with the
    /// render device. Returns 'false' to indicate that no changes were applied and subsequent
    /// RenderOffscreen() and Render() calls could be avoided if last render was preserved
    virtual bool UpdateRenderTree() = 0;
GPU cannot be disabled.
 
whidbey
Topic Author
Posts: 49
Joined: 26 May 2019, 07:16

Re: a performence question

03 Jun 2019, 16:27

Our application framework is setup to render continuously everything per frame. This is the common scenario in videogames. But you can avoid that in your own integration if you want. See for example the IRenderer interface:
    /// Applies last changes happened in the view. This function does not interact with the
    /// render device. Returns 'false' to indicate that no changes were applied and subsequent
    /// RenderOffscreen() and Render() calls could be avoided if last render was preserved
    virtual bool UpdateRenderTree() = 0;
GPU cannot be disabled.
oh,i dont have a code so can't see what happed in updaterenderTree, I will study more deeper .tkanks
 
whidbey
Topic Author
Posts: 49
Joined: 26 May 2019, 07:16

Re: a performence question

04 Jun 2019, 09:05

Our application framework is setup to render continuously everything per frame. This is the common scenario in videogames. But you can avoid that in your own integration if you want. See for example the IRenderer interface:
    /// Applies last changes happened in the view. This function does not interact with the
    /// render device. Returns 'false' to indicate that no changes were applied and subsequent
    /// RenderOffscreen() and Render() calls could be avoided if last render was preserved
    virtual bool UpdateRenderTree() = 0;
I search UpdateRenderTree in the flowing files.
\Packages\Samples\IntegrationGLUT\Src\Main.cpp(107): _view->GetRenderer()->UpdateRenderTree();
\Packages\App\ApplicationLauncher\Src\Window.cpp(186): renderer->UpdateRenderTree();
\Packages\App\ApplicationLauncher\Src\Window.cpp(1213): renderer->UpdateRenderTree();
\Packages\Samples\Integration\Src\Main.cpp(177): view->GetRenderer()->UpdateRenderTree();
do you mean I just add a render->UpdateRenderTree(); to Main.cpp would avoid this?

GPU cannot be disabled.
 
whidbey
Topic Author
Posts: 49
Joined: 26 May 2019, 07:16

Re: a performence question

04 Jun 2019, 16:58

Our application framework is setup to render continuously everything per frame. This is the common scenario in videogames. But you can avoid that in your own integration if you want. See for example the IRenderer interface:
    /// Applies last changes happened in the view. This function does not interact with the
    /// render device. Returns 'false' to indicate that no changes were applied and subsequent
    /// RenderOffscreen() and Render() calls could be avoided if last render was preserved
    virtual bool UpdateRenderTree() = 0;
do you have a complete example? still not resoveld yet.. but cpu problem is most important i think..

GPU cannot be disabled.
 
User avatar
jsantos
Site Admin
Posts: 2959
Joined: 20 Jan 2012, 17:18
Contact:

Re: a performence question

05 Jun 2019, 16:44

if UpdateRenderTree renders false then you don't need to render that frame. We plan to add support for this in the application framework. I recommend you waiting for it if you are not able to implement it yourself.
 
whidbey
Topic Author
Posts: 49
Joined: 26 May 2019, 07:16

Re: a performence question

05 Jun 2019, 17:01

if UpdateRenderTree renders false then you don't need to render that frame. We plan to add support for this in the application framework. I recommend you waiting for it if you are not able to implement it yourself.
I saw the example of integation ,and modify a little
if(updaterendertree()!=false){
//dont render
}

effect a bit as cpu downs when UI no changes;
but hoping the SDK itself could cut down the cpu usages; thank you.
 
User avatar
jsantos
Site Admin
Posts: 2959
Joined: 20 Jan 2012, 17:18
Contact:

Re: a performence question

06 Jun 2019, 11:28

If you hit CTRL + F to bring stats what update and render time are you getting? You should have numbers under 1 ms.
 
whidbey
Topic Author
Posts: 49
Joined: 26 May 2019, 07:16

Re: a performence question

06 Jun 2019, 15:55

If you hit CTRL + F to bring stats what update and render time are you getting? You should have numbers under 1 ms.

Image
https://lh3.googleusercontent.com/jkKQe ... WMx_u=s168

27fps ...simple "Sample.Buttons.exe" 70%cpu

Who is online

Users browsing this forum: No registered users and 8 guests