MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028129Open CASCADE[OCCT] OCCT:Visualizationpublic2016-11-18 17:512017-10-31 10:51
Reporterdbp 
Assigned Toapn 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.2.0Fixed in Version[OCCT] 7.2.0 
Summary0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode
DescriptionIn similar issue (28114, Visualization, Ray tracing - Make ray tracing mode interactive in high resolutions) an attempt has been made to improve interactivity during interaction with the scene. However, when the camera is stabilized the performance drops significantly (to its "normal" level).

However, it is possible to prevent this drop also by improving adaptive screen sampling mode. The important feature of this mode is that it is possible to keep the same number of tiles for any screen resolution (e.g. 256 tiles can be used for both 512 x 512 window and 1920 x 1080 window). So, a smaller number of tiles allows to increase interactivity (FPS), but at the cost of higher per-frame variance ('noise'). On the contrary a larger number of tiles decrease interactivity, but leads to lower per-frame variance. Note that the total time needed to produce final final image is the same for both cases. In frames of this issue, it is proposed to keep number of tiles quite low (e.g. 256) independently on the window size. This will allow:

1) Keep interactivy at a high level (FPS) which is especially important for low-performance GPUs.

2) Prevent freezing of application GUI and possible crashes due to driver's limit on maximum frame rendering time (it is related to complex scenes).
Steps To ReproduceNow it is inherent feature of ISS mode (importance screen sampling) activated by a command:

vrenderparams -iss

Also, number of tiles used for adaptive screen sampling can be changed using command:

vrenderparams -nbtiles <64..1024>

This allows to balance GPU loading and interactivity and adapt to wide range of GPUs.
TagsNo tags attached.
Test case numberv3d raytrace sample_ball_iss
Attached Filespng file icon sample_ball_iss_iss_64.png (267,300 bytes) 2017-01-17 19:27
png file icon sample_ball_iss_iss_256.png (266,833 bytes) 2017-01-17 19:27
png file icon sample_ball_iss_iss_1024.png (266,793 bytes) 2017-01-17 19:27

- Relationships
related to 0028114closedapn Open CASCADE Visualization, Ray tracing - Make ray tracing mode interactive in high resolutions 

-  Notes
(0060560)
git (administrator)
2016-11-18 17:53

Branch CR28129 has been created by dbp.

SHA-1: b9bba3ab3ce45be6e0ee82255f8c2cc9d859829c


Detailed log of new commits:

Author: dbp
Date: Fri Nov 18 17:53:10 2016 +0300

    0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode
(0060561)
dbp (developer)
2016-11-18 18:00

Dear kgv,

Could you please review the patch in branch CR28129?
(0060562)
git (administrator)
2016-11-18 18:04

Branch CR28129 has been updated forcibly by dbp.

SHA-1: c33388e4fd48622b1092d99d25f82d916a96d8af
(0060789)
kgv (developer)
2016-11-27 12:29

Please add test case for this functionality.
(0062712)
git (administrator)
2017-01-17 19:24

Branch CR28129_1 has been created by dbp.

SHA-1: a75581dc55b3a3822a47a023a4cd47feb84895b6


Detailed log of new commits:

Author: dbp
Date: Fri Nov 18 17:53:10 2016 +0300

    0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode
(0062713)
dbp (developer)
2017-01-17 19:27

New test case added:
v3d raytrace sample_ball_iss

See images attached for the reference result.
(0062714)
kgv (developer)
2017-01-17 19:35

+#include <vector>
+
 #include <OpenGl_Texture.hxx>
 #include <OpenGl_HaltonSampler.hxx>
 
-#include <vector>

Why this change is required?
It is a common practice to list OCCT headers first
(as far as this header does not define a mess of macros like "windows.h").
(0062715)
git (administrator)
2017-01-17 20:47

Branch CR28129_1 has been updated forcibly by dbp.

SHA-1: 8526b84f448ac86f73357361593e29992537478f
(0062716)
dbp (developer)
2017-01-17 20:48

Dear kgv,

Really, it is strange change. It was reverted. Please find updated code in the same branch.
(0062717)
kgv (developer)
2017-01-17 20:51

Please test the patch.
(0062732)
git (administrator)
2017-01-18 10:51

Branch CR28129_1 has been updated forcibly by dbp.

SHA-1: a75581dc55b3a3822a47a023a4cd47feb84895b6
(0062734)
git (administrator)
2017-01-18 10:57

Branch CR28129_1 has been updated forcibly by dbp.

SHA-1: a5166c3cf0b2c95ce6c3e8a7700d36c16b9c1df5
(0062784)
apv (tester)
2017-01-19 12:06

Dear BugMaster,

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

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 63
   Windows: 0
   MacOS: 1161

Regressions/Differences:
Not detected

Testing cases:
v3d raytrace sample_ball_iss - FAILED
http://occt-tests/CR28129_1-master-OCCT/Debian70-64/v3d/raytrace/sample_ball_iss.html [^]
http://occt-tests/CR28129_1-master-OCCT/Windows-64-VC10/v3d/raytrace/sample_ball_iss.html [^]

Testing on Linux:
Total MEMORY difference: 93509351 / 92908046 [+0.65%]
Total CPU difference: 21390.860000000303 / 21505.8700000003 [-0.53%]

Testing on Windows:
Total MEMORY difference: 58646104 / 58649007 [-0.00%]
Total CPU difference: 19478.752862998495 / 19749.742200098677 [-1.37%]

There is difference in images found by testdiff:
http://occt-tests/CR28129_1-master-OCCT/Debian70-64/diff-Debian70-64.html [^]
http://occt-tests/CR28129_1-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html [^]
v3d raytrace bug26617
(0062785)
apv (tester)
2017-01-19 12:07

Dear Denis,

Branch CR28129_1 has been rejected due to:
- failed test-case for issue
- differences in images
(0062793)
git (administrator)
2017-01-19 13:49

Branch CR28129_2 has been created by dbp.

SHA-1: b05e43bd27b72c8408ab4bca660fc5476077cd89


Detailed log of new commits:

Author: dbp
Date: Fri Nov 18 17:53:10 2016 +0300

    0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode
(0062794)
dbp (developer)
2017-01-19 13:49

Dear kgv,

Could you please review fixes in CR28129_2 branch?
(0062797)
git (administrator)
2017-01-19 14:02

Branch CR28129_2 has been updated forcibly by dbp.

SHA-1: e944dbf8dccb9a477c9b3d7ce19b27668c9f1f78
(0062800)
kgv (developer)
2017-01-19 14:10

Please test updated patch.
(0062864)
apv (tester)
2017-01-20 18:28

Dear Denis,

Please, rebase branch CR28129_2 on the current master. Thank you in advance.
(0062925)
git (administrator)
2017-01-24 10:44

Branch CR28129_3 has been created by dbp.

SHA-1: 414925b84fb8d77cbb25dc0bf35c1e655cbea1be


Detailed log of new commits:

Author: dbp
Date: Tue Jan 24 10:43:26 2017 +0300

    Re-basing the patch on current master.

Author: dbp
Date: Fri Nov 18 17:53:10 2016 +0300

    0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode
(0062926)
dbp (developer)
2017-01-24 10:45

Dear apv,

Please find rebased patch in branch CR28129_3.
(0062994)
apv (tester)
2017-01-25 11:57

Dear BugMaster,

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

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 63
   Windows: 0
   MacOS: 1140

Regressions/Differences:
Not detected

Testing cases:
v3d raytrace sample_ball_iss - OK
http://occt-tests/CR28129_3-master-OCCT/Debian70-64/v3d/raytrace/sample_ball_iss.html [^]
http://occt-tests/CR28129_3-master-OCCT/Windows-64-VC10/v3d/raytrace/sample_ball_iss.html [^]

Testing on Linux:
Total MEMORY difference: 93088553 / 92067848 [+1.11%]
Total CPU difference: 21100.680000000197 / 21062.360000000153 [+0.18%]

Testing on Windows:
Total MEMORY difference: 58324712 / 58324216 [+0.00%]
Total CPU difference: 19602.290054898545 / 19152.585972198493 [+2.35%]
(0063545)
git (administrator)
2017-02-08 11:31

Branch CR28129 has been deleted by kgv.

SHA-1: c33388e4fd48622b1092d99d25f82d916a96d8af
(0063593)
git (administrator)
2017-02-08 11:35

Branch CR28129_1 has been deleted by kgv.

SHA-1: a5166c3cf0b2c95ce6c3e8a7700d36c16b9c1df5
(0063594)
git (administrator)
2017-02-08 11:35

Branch CR28129_2 has been deleted by kgv.

SHA-1: e944dbf8dccb9a477c9b3d7ce19b27668c9f1f78
(0063595)
git (administrator)
2017-02-08 11:35

Branch CR28129_3 has been deleted by kgv.

SHA-1: 414925b84fb8d77cbb25dc0bf35c1e655cbea1be

- Related Changesets
occt: master 4eaaf9d8
Timestamp: 2017-01-26 09:56:13
Author: dbp
Committer: apn
Details ] Diff ]
0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode

Re-basing the patch on current master.
mod - src/Graphic3d/Graphic3d_RenderingParams.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_TileSampler.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_TileSampler.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff ] File ]
mod - src/Shaders/Display.fs Diff ] File ]
mod - src/Shaders/PathtraceBase.fs Diff ] File ]
mod - src/Shaders/RaytraceRender.fs Diff ] File ]
mod - src/Shaders/Shaders_Display_fs.pxx Diff ] File ]
mod - src/Shaders/Shaders_PathtraceBase_fs.pxx Diff ] File ]
mod - src/Shaders/Shaders_RaytraceRender_fs.pxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff ] File ]
add - tests/v3d/raytrace/sample_ball_iss Diff ] File ]

- Issue History
Date Modified Username Field Change
2016-11-18 17:51 dbp New Issue
2016-11-18 17:51 dbp Assigned To => dbp
2016-11-18 17:52 kgv Relationship added related to 0028114
2016-11-18 17:53 git Note Added: 0060560
2016-11-18 18:00 dbp Note Added: 0060561
2016-11-18 18:00 dbp Assigned To dbp => kgv
2016-11-18 18:00 dbp Status new => resolved
2016-11-18 18:00 dbp Steps to Reproduce Updated View Revisions
2016-11-18 18:04 git Note Added: 0060562
2016-11-27 12:29 kgv Note Added: 0060789
2016-11-27 12:29 kgv Assigned To kgv => dbp
2016-11-27 12:29 kgv Severity minor => feature
2016-11-27 12:29 kgv Status resolved => assigned
2017-01-17 19:24 git Note Added: 0062712
2017-01-17 19:26 dbp Assigned To dbp => kgv
2017-01-17 19:26 dbp Status assigned => resolved
2017-01-17 19:26 dbp Steps to Reproduce Updated View Revisions
2017-01-17 19:27 dbp Note Added: 0062713
2017-01-17 19:27 dbp File Added: sample_ball_iss_iss_64.png
2017-01-17 19:27 dbp File Added: sample_ball_iss_iss_256.png
2017-01-17 19:27 dbp File Added: sample_ball_iss_iss_1024.png
2017-01-17 19:35 kgv Note Added: 0062714
2017-01-17 20:47 git Note Added: 0062715
2017-01-17 20:48 dbp Note Added: 0062716
2017-01-17 20:51 kgv Note Added: 0062717
2017-01-17 20:51 kgv Assigned To kgv => bugmaster
2017-01-17 20:51 kgv Status resolved => reviewed
2017-01-18 10:51 git Note Added: 0062732
2017-01-18 10:57 git Note Added: 0062734
2017-01-18 17:09 apv Test case number => v3d raytrace sample_ball_iss
2017-01-18 17:11 apv Assigned To bugmaster => apv
2017-01-19 12:06 apv Note Added: 0062784
2017-01-19 12:06 apv Assigned To apv => dbp
2017-01-19 12:06 apv Status reviewed => assigned
2017-01-19 12:07 apv Note Added: 0062785
2017-01-19 13:49 git Note Added: 0062793
2017-01-19 13:49 dbp Note Added: 0062794
2017-01-19 13:49 dbp Assigned To dbp => kgv
2017-01-19 13:49 dbp Status assigned => resolved
2017-01-19 14:02 git Note Added: 0062797
2017-01-19 14:10 kgv Note Added: 0062800
2017-01-19 14:10 kgv Assigned To kgv => bugmaster
2017-01-19 14:10 kgv Status resolved => reviewed
2017-01-20 18:28 apv Note Added: 0062864
2017-01-20 18:28 apv Assigned To bugmaster => dbp
2017-01-20 18:28 apv Status reviewed => feedback
2017-01-24 10:44 git Note Added: 0062925
2017-01-24 10:45 dbp Note Added: 0062926
2017-01-24 10:45 dbp Assigned To dbp => apv
2017-01-24 10:45 dbp Status feedback => resolved
2017-01-24 23:04 kgv Status resolved => reviewed
2017-01-25 11:57 apv Note Added: 0062994
2017-01-25 11:57 apv Assigned To apv => bugmaster
2017-01-25 11:57 apv Status reviewed => tested
2017-01-27 16:15 apn Changeset attached => occt master 4eaaf9d8
2017-01-27 16:15 apn Assigned To bugmaster => apn
2017-01-27 16:15 apn Status tested => verified
2017-01-27 16:15 apn Resolution open => fixed
2017-02-08 11:31 git Note Added: 0063545
2017-02-08 11:35 git Note Added: 0063593
2017-02-08 11:35 git Note Added: 0063594
2017-02-08 11:35 git Note Added: 0063595
2017-09-29 16:21 user533 Fixed in Version => 7.2.0
2017-09-29 16:31 user533 Status verified => closed
2017-10-31 10:51 kgv Relationship added related to 0029275


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker