MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0025703Open CASCADE[OCCT] OCCT:Visualizationpublic2015-01-13 16:042015-05-14 15:32
Reporterdbp 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 6.9.0Fixed in Version[OCCT] 6.9.0 
Summary0025703: Visualization, TKOpenGl - Decrease number of samplers used in ray-tracing mode
DescriptionCurrently ray-tracing implementation uses more than 16 samplers, thus compatibility with some entry-level GPUs is suffering. It is necessary to decrease number of samplers by packing data.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships
parent of 0025762closedbugmaster Visualization, TKOpenGl - fix debug assertion within OpenGl_Workspace::UploadRaytraceData() 

-  Notes
(0036005)
git (administrator)
2015-01-13 16:05

Branch CR25703 has been created by dbp.

SHA-1: cc9912ea88e18d2624767dec4c257889f2ad323f


Detailed log of new commits:

Author: dbp
Date: Tue Jan 13 16:01:30 2015 +0300

    3 samplers were rejected.
(0036009)
git (administrator)
2015-01-13 17:25

Branch CR25703 has been updated by dbp.

SHA-1: 715d4ee320f7bef5dff245e7fbafd4dff3eced7a


Detailed log of new commits:

Author: dbp
Date: Tue Jan 13 17:24:41 2015 +0300

    Optimization.

(0036017)
git (administrator)
2015-01-13 18:33

Branch CR25703_1 has been created by dbp.

SHA-1: 338d7f36bc793415c0b61868b4ef2519e0e8ba42


Detailed log of new commits:

Author: dbp
Date: Tue Jan 13 18:32:47 2015 +0300

    0025703: Visualization - Decrease number of samplers used in ray-tracing mode
(0036018)
git (administrator)
2015-01-13 18:39

Branch CR25703_1 has been updated forcibly by dbp.

SHA-1: b021133902d2989d1365c13ccaffc6b64573224b
(0036023)
kgv (developer)
2015-01-14 09:38
edited on: 2015-01-14 09:42

Dear Denis,

please provide in commit description the way you have achieved result (e.g. the data previously stored in sampler A has been appended to the end of sampler B data, or something like this).

-          if (aHead == theSentinel)
-            return aTriIndex;
-          aNode = Stack[aHead--];
+          aToContinue = (aHead != theSentinel);
+          if (aToContinue)
+            aNode = Stack[aHead--];

please add to commit description the reason for this change unrelated to bug (compatibility? performance?). Also variable "aToContinue" does not meet name conventions - it should be "toContinue".

Otherwise patch looks OK.

(0036031)
git (administrator)
2015-01-14 11:01

Branch CR25703_2 has been created by dbp.

SHA-1: 3930852287945ab31acc87fc6c84c2c20ca3fde6


Detailed log of new commits:

Author: dbp
Date: Wed Jan 14 10:59:49 2015 +0300

    0025703: Visualization - Decrease number of samplers used in ray-tracing mode
    
    This patch eliminates 3 samplers used in ray-tracing mode:
    
    //! Texture buffer of data records of bottom-level BVH nodes.
    Handle(OpenGl_TextureBufferArb) myObjectNodeInfoTexture;
    //! Texture buffer of minimum points of bottom-level BVH nodes.
    Handle(OpenGl_TextureBufferArb) myObjectMinPointTexture;
    //! Texture buffer of maximum points of bottom-level BVH nodes.
    Handle(OpenGl_TextureBufferArb) myObjectMaxPointTexture;
    
    Serialized data contained in corresponding texture buffers were added to global scene buffers:
    
    //! Texture buffer of data records of high-level BVH nodes.
    Handle(OpenGl_TextureBufferArb) mySceneNodeInfoTexture;
     //! Texture buffer of minimum points of high-level BVH nodes.
    Handle(OpenGl_TextureBufferArb) mySceneMinPointTexture;
    //! Texture buffer of maximum points of high-level BVH nodes.
    Handle(OpenGl_TextureBufferArb) mySceneMaxPointTexture;
    
    This modifications leads also to small performance improvement (~2%) due to higher texture cache efficiency. Some modifications in traversal function (GLSL code) also improve performance (~3%).
(0036032)
git (administrator)
2015-01-14 11:05

Branch CR25703_2 has been updated forcibly by dbp.

SHA-1: edbe4abbce5625a07e263b65e839e8ade556d33d
(0036033)
dbp (developer)
2015-01-14 11:07

Dear kgv,

please review updated commit description in branch CR25703_2.
(0036163)
git (administrator)
2015-01-16 18:03

Branch CR25703_2 has been updated forcibly by apv.

SHA-1: 2eebec00f109fab6f58899ca73ec249f1bc3d04e
(0036164)
apv (tester)
2015-01-16 18:04

Branch CR25703_2 has been rebased on the current master
(0036338)
apv (tester)
2015-01-21 16:33

Dear BugMaster,

Branch CR25703_2 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 2eebec00f109fab6f58899ca73ec249f1bc3d04e

Number of compiler warnings:
occt component:
   Linux: 18 (18 on master)
   Windows: 0 (0 on master)
products component :
   Linux: 11 (11 on master)
   Windows: 1 (1 on master)

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 370110360 / 369907280
Total CPU difference: 46257.55000000006 / 46828.580000000045

Testing on Windows:
Total MEMORY difference: 276240724 / 276837572
Total CPU difference: 39059.0625 / 39964.359375
(0036515)
git (administrator)
2015-01-26 12:31

Branch CR25703_2 has been deleted by inv.

SHA-1: 2eebec00f109fab6f58899ca73ec249f1bc3d04e
(0036526)
git (administrator)
2015-01-26 12:32

Branch CR25703_1 has been deleted by inv.

SHA-1: b021133902d2989d1365c13ccaffc6b64573224b
(0036527)
git (administrator)
2015-01-26 12:32

Branch CR25703 has been deleted by inv.

SHA-1: 715d4ee320f7bef5dff245e7fbafd4dff3eced7a

- Related Changesets
occt: master e2da917a
Timestamp: 2015-01-14 08:04:27
Author: dbp
Committer: bugmaster
Details ] Diff ]
0025703: Visualization - Decrease number of samplers used in ray-tracing mode

This patch eliminates 3 samplers used in ray-tracing mode:

//! Texture buffer of data records of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectNodeInfoTexture;
//! Texture buffer of minimum points of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectMinPointTexture;
//! Texture buffer of maximum points of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectMaxPointTexture;

Serialized data contained in corresponding texture buffers were added to global scene buffers:

//! Texture buffer of data records of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneNodeInfoTexture;
 //! Texture buffer of minimum points of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneMinPointTexture;
//! Texture buffer of maximum points of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneMaxPointTexture;

This modifications leads also to small performance improvement (~2%) due to higher texture cache efficiency. Some modifications in traversal function (GLSL code) also improve performance (~3%).
mod - src/OpenGl/OpenGl_SceneGeometry.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace_Raytrace.cxx Diff ] File ]
mod - src/Shaders/RaytraceBase.fs Diff ] File ]

- Issue History
Date Modified Username Field Change
2015-01-13 16:04 dbp New Issue
2015-01-13 16:04 dbp Assigned To => dbp
2015-01-13 16:05 git Note Added: 0036005
2015-01-13 17:25 git Note Added: 0036009
2015-01-13 18:33 git Note Added: 0036017
2015-01-13 18:39 git Note Added: 0036018
2015-01-13 18:45 dbp Assigned To dbp => kgv
2015-01-13 18:45 dbp Status new => resolved
2015-01-13 18:45 dbp Steps to Reproduce Updated View Revisions
2015-01-14 09:38 kgv Note Added: 0036023
2015-01-14 09:38 kgv Assigned To kgv => dbp
2015-01-14 09:38 kgv Status resolved => assigned
2015-01-14 09:42 kgv Note Edited: 0036023 View Revisions
2015-01-14 11:01 git Note Added: 0036031
2015-01-14 11:05 git Note Added: 0036032
2015-01-14 11:07 dbp Note Added: 0036033
2015-01-14 11:07 dbp Assigned To dbp => kgv
2015-01-14 11:07 dbp Status assigned => resolved
2015-01-14 11:07 dbp Steps to Reproduce Updated View Revisions
2015-01-14 11:10 kgv Assigned To kgv => bugmaster
2015-01-14 11:10 kgv Severity minor => feature
2015-01-14 11:10 kgv Status resolved => reviewed
2015-01-14 11:10 kgv Summary Visualization -- Decrease number of samplers used in ray-tracing mode => Visualization, TKOpenGl - Decrease number of samplers used in ray-tracing mode
2015-01-16 17:06 apv Assigned To bugmaster => apv
2015-01-16 18:03 git Note Added: 0036163
2015-01-16 18:04 apv Note Added: 0036164
2015-01-21 15:33 apv Test case number => Not needed
2015-01-21 16:33 apv Note Added: 0036338
2015-01-21 16:33 apv Assigned To apv => bugmaster
2015-01-21 16:33 apv Status reviewed => tested
2015-01-23 16:19 bugmaster Changeset attached => occt master e2da917a
2015-01-23 16:19 bugmaster Status tested => verified
2015-01-23 16:19 bugmaster Resolution open => fixed
2015-01-26 12:31 git Note Added: 0036515
2015-01-26 12:32 git Note Added: 0036526
2015-01-26 12:32 git Note Added: 0036527
2015-01-30 10:09 kgv Relationship added parent of 0025762
2015-05-14 15:29 aiv Status verified => closed
2015-05-14 15:32 aiv Fixed in Version => 6.9.0


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker