View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028129 | Open CASCADE | OCCT:Visualization | public | 2016-11-18 17:51 | 2017-10-31 10:51 |
Reporter | Assigned To | apn | |||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.2.0 | Fixed in Version | 7.2.0 | ||
Summary | 0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode | ||||
Description | In 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 Reproduce | Now 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. | ||||
Tags | No tags attached. | ||||
Test case number | v3d raytrace sample_ball_iss | ||||
|
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 |
|
Dear kgv, Could you please review the patch in branch CR28129? |
|
Branch CR28129 has been updated forcibly by dbp. SHA-1: c33388e4fd48622b1092d99d25f82d916a96d8af |
|
Please add test case for this functionality. |
|
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 |
|
New test case added: v3d raytrace sample_ball_iss See images attached for the reference result. |
2017-01-17 19:27 developer |
sample_ball_iss_iss_64.png (267,300 bytes) |
2017-01-17 19:27 developer |
sample_ball_iss_iss_256.png (266,833 bytes) |
2017-01-17 19:27 developer |
sample_ball_iss_iss_1024.png (266,793 bytes) |
|
+#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"). |
|
Branch CR28129_1 has been updated forcibly by dbp. SHA-1: 8526b84f448ac86f73357361593e29992537478f |
|
Dear kgv, Really, it is strange change. It was reverted. Please find updated code in the same branch. |
|
Please test the patch. |
|
Branch CR28129_1 has been updated forcibly by dbp. SHA-1: a75581dc55b3a3822a47a023a4cd47feb84895b6 |
|
Branch CR28129_1 has been updated forcibly by dbp. SHA-1: a5166c3cf0b2c95ce6c3e8a7700d36c16b9c1df5 |
|
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 |
|
Dear Denis, Branch CR28129_1 has been rejected due to: - failed test-case for issue - differences in images |
|
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 |
|
Dear kgv, Could you please review fixes in CR28129_2 branch? |
|
Branch CR28129_2 has been updated forcibly by dbp. SHA-1: e944dbf8dccb9a477c9b3d7ce19b27668c9f1f78 |
|
Please test updated patch. |
|
Dear Denis, Please, rebase branch CR28129_2 on the current master. Thank you in advance. |
|
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 |
|
Dear apv, Please find rebased patch in branch CR28129_3. |
|
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%] |
|
Branch CR28129 has been deleted by kgv. SHA-1: c33388e4fd48622b1092d99d25f82d916a96d8af |
|
Branch CR28129_1 has been deleted by kgv. SHA-1: a5166c3cf0b2c95ce6c3e8a7700d36c16b9c1df5 |
|
Branch CR28129_2 has been deleted by kgv. SHA-1: e944dbf8dccb9a477c9b3d7ce19b27668c9f1f78 |
|
Branch CR28129_3 has been deleted by kgv. SHA-1: 414925b84fb8d77cbb25dc0bf35c1e655cbea1be |
occt: master 4eaaf9d8 2017-01-26 09:56:13
Committer: apn Details Diff |
0028129: Visualization, Path Tracing - Improve interactivity in "steady" rendering mode Re-basing the patch on current master. |
Affected Issues 0028129 |
|
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 |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-11-18 17:51 |
|
New Issue | |
2016-11-18 17:51 |
|
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 |
|
Note Added: 0060561 | |
2016-11-18 18:00 |
|
Assigned To | dbp => kgv |
2016-11-18 18:00 |
|
Status | new => resolved |
2016-11-18 18:00 |
|
Steps to Reproduce Updated | |
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 |
|
Assigned To | dbp => kgv |
2017-01-17 19:26 |
|
Status | assigned => resolved |
2017-01-17 19:26 |
|
Steps to Reproduce Updated | |
2017-01-17 19:27 |
|
Note Added: 0062713 | |
2017-01-17 19:27 |
|
File Added: sample_ball_iss_iss_64.png | |
2017-01-17 19:27 |
|
File Added: sample_ball_iss_iss_256.png | |
2017-01-17 19:27 |
|
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 |
|
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 |
|
Test case number | => v3d raytrace sample_ball_iss |
2017-01-18 17:11 |
|
Assigned To | bugmaster => apv |
2017-01-19 12:06 |
|
Note Added: 0062784 | |
2017-01-19 12:06 |
|
Assigned To | apv => dbp |
2017-01-19 12:06 |
|
Status | reviewed => assigned |
2017-01-19 12:07 |
|
Note Added: 0062785 | |
2017-01-19 13:49 | git | Note Added: 0062793 | |
2017-01-19 13:49 |
|
Note Added: 0062794 | |
2017-01-19 13:49 |
|
Assigned To | dbp => kgv |
2017-01-19 13:49 |
|
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 |
|
Note Added: 0062864 | |
2017-01-20 18:28 |
|
Assigned To | bugmaster => dbp |
2017-01-20 18:28 |
|
Status | reviewed => feedback |
2017-01-24 10:44 | git | Note Added: 0062925 | |
2017-01-24 10:45 |
|
Note Added: 0062926 | |
2017-01-24 10:45 |
|
Assigned To | dbp => apv |
2017-01-24 10:45 |
|
Status | feedback => resolved |
2017-01-24 23:04 | kgv | Status | resolved => reviewed |
2017-01-25 11:57 |
|
Note Added: 0062994 | |
2017-01-25 11:57 |
|
Assigned To | apv => bugmaster |
2017-01-25 11:57 |
|
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 |
|
Fixed in Version | => 7.2.0 |
2017-09-29 16:31 |
|
Status | verified => closed |