Giter Site home page Giter Site logo

Poor performance about renderpipeline HOT 16 OPEN

tobspr avatar tobspr commented on July 26, 2024
Poor performance

from renderpipeline.

Comments (16)

rdb avatar rdb commented on July 26, 2024 5

@funcelot that has nothing to do with Python or Panda3D, but it's because the RenderPipeline is using deferred rendering. That means most of the shaders run in postprocessing, once per fragment, and so any doubling in resolution will result in a quadrupling of the render time of the entire postprocessing pipeline, which adds up quickly.

4K has a lot of pixels to render. Most games that use deferred rendering do not run well in 4K, and typically render downscaled and then upscale in a postprocessing pass.

from renderpipeline.

tobspr avatar tobspr commented on July 26, 2024

Hi,

can you run pstats and see which parts of the pipeline are running slow?

from renderpipeline.

RodrigoMedeirosRS avatar RodrigoMedeirosRS commented on July 26, 2024

Spstatus + Sys Monitor

1280 x 720
1280

800 x 600
800

In both cases, i have many, many lags when i move the camera, but, the frame rate never drops.

from renderpipeline.

rdb avatar rdb commented on July 26, 2024

It would be very helpful to see the pstats charts. If you have the pstats process running, press 1 in the pipeline to enable it.

from renderpipeline.

RodrigoMedeirosRS avatar RodrigoMedeirosRS commented on July 26, 2024

Sorry, i confuse the pstats and stats gui.

Here is the PStats:

1280 x 720
ss1

800 x 600
ss

from renderpipeline.

tobspr avatar tobspr commented on July 26, 2024

Could you open the gpu graph and check which parts take the most time?

from renderpipeline.

rdb avatar rdb commented on July 26, 2024

Also, keep in mind you can double-click the labels on the left to get a more detailed subdivision of that category of the graph. For example, clicking the "Draw" label will open up a new chart showing how the draw time is divided up.

from renderpipeline.

RodrigoMedeirosRS avatar RodrigoMedeirosRS commented on July 26, 2024

Note: My pc use's a APU technology - https://www.youtube.com/watch?v=ER_u3yLccBU

So i have made a print for every graph option i will post the most critical first:

1280 x 720
* AMD(TM)R7 Graphics:
1280x720 - amd tm r7 graphics

* Draw
1280x720 - draw

* Draw -> Primitive
1280x720 - draw - primitive

* App
1280x720 - app

* Cull
1280x720 - cull

* Time
1280x720 - time

* Wait
1280x720 - wait

800 x 600
* AMD(TM)R7 Graphics:
800x600 - amd tm r7 graphics

* Draw
800x600 - draw

* Draw -> Primitive
800x600 - draw - primitive

* App
800x600 - app

* Cull
800x600 - cull

* Time
800x600 - time

* Wait
800x600 - wait

from renderpipeline.

tobspr avatar tobspr commented on July 26, 2024

Thats weird, it looks like everything is too slow. Are you sure you are not running it on an integrated gpu or so?

from renderpipeline.

rdb avatar rdb commented on July 26, 2024

Yes, an APU has integrated graphics, so make sure that it has been switched to use the external graphics card.

Are these the CPU charts you're showing or the GPU charts? (The GPU charts are available under the "AMD Radeon… > Frame" menu.

Which version of Panda do you have?

Is there any improvement from adding 'gl-version 3 2' in the pipeline Config.prc?

from renderpipeline.

RodrigoMedeirosRS avatar RodrigoMedeirosRS commented on July 26, 2024

Yes, i am using the integrated Graphics, my integrated graphic is a Readeon R7 250 with 2gb vram and 512 stream processors, my integrated Graphics are running the Unreal 4 into cinematic quality and CryEngine 5 in best no 4k quality. The external card works only into the Crossfire, but the AMD crossfire crashe's all OpenGL applications, and work only into the DX11 applications.

The AMD(TM)R7 Graphics charts are showing my integrated card.

from renderpipeline.

default-writer avatar default-writer commented on July 26, 2024

I have 1080 ti, and funny part that in small window, it is 400fps+ but in 4k, any scene of almost any complex is no more than 40 fps, seems that python doing some weird staff with paints windows background, cause it is bitbltm the more sureface are, the more ms is spend on purpouseless repaint of transparent background, anyway this is a window and borderless window preoblem on any of the samples. It looks like this is a problem with Pandas3d itself, can you take a look and fix it? @tobspr

from renderpipeline.

default-writer avatar default-writer commented on July 26, 2024

@funcelot that has nothing to do with Python or Panda3D, but it's because the RenderPipeline is using deferred rendering. That means most of the shaders run in postprocessing, once per fragment, and so any doubling in resolution will result in a quadrupling of the render time of the entire postprocessing pipeline, which adds up quickly.

4K has a lot of pixels to render. Most games that use deferred rendering do not run well in 4K, and typically render downscaled and then upscale in a postprocessing pass.

Is that the same technique i seen in Cyberpunk2077 wher image seems crispy and make somewhat more detaild in one sec or so? Got your point, thanx

from renderpipeline.

default-writer avatar default-writer commented on July 26, 2024

@funcelot that has nothing to do with Python or Panda3D, but it's because the RenderPipeline is using deferred rendering. That means most of the shaders run in postprocessing, once per fragment, and so any doubling in resolution will result in a quadrupling of the render time of the entire postprocessing pipeline, which adds up quickly.

4K has a lot of pixels to render. Most games that use deferred rendering do not run well in 4K, and typically render downscaled and then upscale in a postprocessing pass.

I saw down scaling & posptrocess upscaling in Horizon Zero Dawn, where i play in 4K, but can postprocess in 1080p, using 50% or 25% scale

from renderpipeline.

default-writer avatar default-writer commented on July 26, 2024

Can you provide upscaling / downscaling example using you pipline renderer @tobspr ? That would be really aswesome to see 120 fps on 4K, indeed :)

from renderpipeline.

tobspr avatar tobspr commented on July 26, 2024

There are multiple ways of doing that, IIRC the pipeline supports it natively though, you can set resolution_scale in the config:
https://github.com/tobspr/RenderPipeline/blob/master/config/pipeline.yaml#L26

To e.g. 0.75, the pipeline will then render at 75% resolution and scale up

from renderpipeline.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.