View Issue Details

IDProjectCategoryView StatusLast Update
0005951DarkRadiantRendererpublic05.01.2023 16:25
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.0.0 
Fixed in Version3.0.0 
Summary0005951: "Hide Deselected" is slowed when there's a lot of patches present in the scene
DescriptionWhen the patch's visibility is changed, it will remove its geometry from the shader. Unsubscribing signals and ContinuousBuffer management takes up most of the time here.
A possible solution to this would be to not actually remove the geometry from the backend shader when a node is hidden. Since each patch geometry is rendered through a list of geometry slots, it might be cheaper to just deactivate the slot (new feature).
TagsNo tags attached.
Attached Files
grafik.png (38,785 bytes)   
grafik.png (38,785 bytes)   

Activities

Related Changesets

DarkRadiant: master 2d437bd3

01.05.2022 04:08

greebo


Details Diff
0005951: Extend IGeometryRenderer interface to support showing/hiding single geometry slots.
PatchNodes should not remove their geometry when being hidden, but deactivate it instead. Any time the PatchNode is updating the RenderableGeometry instance it will implicitly reactivate it again (since update() will only be called when the node should be rendered in the first place).
Internally, the GeometryRenderer will forward all visible geometry slots as collection to the ObjectRenderer, which should exclude the hidden ones.
Affected Issues
0005951
mod - include/igeometryrenderer.h Diff File
mod - libs/render/RenderableGeometry.h Diff File
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.h Diff File

DarkRadiant: master 354ceb5e

01.05.2022 04:24

greebo


Details Diff
0005951: PatchNodes are showing/hiding their geometry now when visibility changes Affected Issues
0005951
mod - radiantcore/patch/PatchNode.cpp Diff File
mod - radiantcore/patch/PatchNode.h Diff File

DarkRadiant: master 24b0611a

01.05.2022 04:32

greebo


Details Diff
0005951: Implement ability to activate/deactivate renderables in GeometryRenderer. Affected Issues
0005951
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File

Issue History

Date Modified Username Field Change
01.05.2022 03:05 greebo New Issue
01.05.2022 03:05 greebo File Added: grafik.png
01.05.2022 03:05 greebo Assigned To => greebo
01.05.2022 03:05 greebo Status new => assigned
01.05.2022 05:02 greebo Changeset attached => DarkRadiant master 2d437bd3
01.05.2022 05:02 greebo Changeset attached => DarkRadiant master 354ceb5e
01.05.2022 05:02 greebo Changeset attached => DarkRadiant master 24b0611a
01.05.2022 06:03 greebo Status assigned => resolved
01.05.2022 06:03 greebo Resolution open => fixed
01.05.2022 06:03 greebo Fixed in Version => 3.0.0
05.01.2023 16:25 greebo Status resolved => closed