View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028890 | Community | OCCT:Visualization | public | 2017-07-04 13:02 | 2017-09-29 16:28 |
Reporter | Vico Liang | Assigned To | bugmaster | ||
Priority | normal | Severity | major | ||
Status | closed | Resolution | fixed | ||
Platform | Windows | OS | VC++ 2013 | ||
Product Version | 7.1.0 | ||||
Target Version | 7.2.0 | Fixed in Version | 7.2.0 | ||
Summary | 0028890: Visualization - After closing all views and then display the view again, just the first view has object(s) displayed | ||||
Description | Steps to reproduce the problem: 1. Create AIS_InteractiveContext myAISContext1, myAISContext2; 2. Display any kind of AIS_InteractiveObject inside myAISContext1, myAISContext2; 3. Create two views to display objects: aView1 for myAISContext1, aView2 for myAISContext2; // Till now, all is ok; 4. Close these two views aView1 and aView2, both views are removed with view->Remove() function. 5. Create two new views again: aView3 for myAISContext1, aView4 for myAISContext2; NOTE, the bug occurs in the last step, aView3 will show the object as expected, but aView4 display nothing. I debug the problem and find the causes: Graphic3d_GraphicDriver will release all opengl internal resource if there is no any view exist and the IsDeviceLost will return true. If there is a new view need to display objects it will try to rebuild the Graphic3d_Structure. The problem occurs that it just rebuild the first view's Graphic3d_Structure and the later view's structure will not be built since after the frist view building structure, IsDeviceLost will return false, see detailed in method:void V3d_View::Redraw() | ||||
Steps To Reproduce | pload MODELING VISUALIZATION vclear vclose ALL box b1_1 0 0 0 1 2 3 box b1_2 0 3 0 3 1 2 box b2_1 0 0 0 3 1 2 box b2_2 0 3 0 1 2 3 # fill first Viewer vinit Driver1/Viewer1/View1 vzbufftrihedron vdisplay -dispMode 1 b1_1 b1_2 vfit vsetcolor b1_1 RED vsetcolor b1_2 GREEN # fill second Viewer vinit Driver1/Viewer2/View1 vzbufftrihedron vdisplay -dispMode 1 b2_1 b2_2 vfit vsetcolor b2_1 RED vsetcolor b2_2 GREEN # enable RayTracing which sets DeviceLost flag vactivate Driver1/Viewer1/View1 vraytrace 1 # OK - first View is redrawn in Ray-Trace mode vactivate Driver1/Viewer2/View1 vraytrace 1 # KO - objects within second View were not re-computed for Ray-Tracing | ||||
Tags | No tags attached. | ||||
Test case number | bugs vis bug28890 | ||||
|
Branch CR28890 has been created by kgv. SHA-1: 0541b64c1eddb9e22a6db93ae90e17d1c8d47c10 Detailed log of new commits: Author: kgv Date: Fri Jul 7 17:06:09 2017 +0300 0028890: Visualization - After closing all views and then display the view again, just the first view has object(s) displayed DeviceLost flag has been moved from Graphic3d_GraphicDriver to Graphic3d_StructureManager, so that all Viewers sharing the same Driver instance are properly invalidated. Fixed clearing of objects by vclear command in case of multiple Viewers. |
|
Branch CR28890 has been updated forcibly by kgv. SHA-1: aea112813c46a5546310d4ab0b2dfd40d261ae22 |
|
Branch CR28890 has been updated forcibly by kgv. SHA-1: 0bd26fac10d213fabea7e9f0cad82937ad70f18c |
|
Patch is ready for review. |
|
Branch CR28890 has been updated forcibly by kgv. SHA-1: 56e7c4cbd182beabac4090e2b114fe974b825b06 |
|
Dear bugmaster, Please test the patch. |
|
Dear BugMaster, Branch CR28890 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode. SHA-1: 56e7c4cbd182beabac4090e2b114fe974b825b06 Number of compiler warnings: occt component : Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS : 0 (0 on master) products component : Linux: 64 (64 on master) Windows: 0 (0 on master) MacOS : 1162 There are following compilation errors on Windows platform: http://jenkins-test-09.nnov.opencascade.com:8080/view/CR28890-master/view/SAMPLES/job/CR28890-master-Products-Windows-64-VC10-sample-csharp/1/parsed_console/ 1>occcsharp_wrap.cxx(106200) : error C2661: 'OpenGl_View::OpenGl_View' : no overloaded function takes 5 arguments 1>occcsharp_wrap.cxx(106255) : error C2661: 'D3DHost_View::D3DHost_View' : no overloaded function takes 5 arguments http://jenkins-test-09.nnov.opencascade.com:8080/view/CR28890-master/view/SAMPLES/job/CR28890-master-Products-Windows-64-VC10-sample-java/1/parsed_console/ ..\..\..\OCCwrapJava\occjava_wrap.cxx(119098): error C2661: 'OpenGl_View::OpenGl_View' : no overloaded function takes 5 arguments [C:\install\CR28890-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\cmake\OCCwrapJava.vcxproj] ..\..\..\OCCwrapJava\occjava_wrap.cxx(119098): error C2661: 'OpenGl_View::OpenGl_View' : no overloaded function takes 5 arguments [C:\install\CR28890-master\Windows-64-VC10-opt\Products\samples\java\win64\VC10\cmake\OCCwrapJava.vcxproj] 1 Error(s) Regressions/Differences/Improvements: No regressions/differences Testing cases: http://occt-tests/CR28890-master-OCCT/Debian70-64/bugs/vis/bug28890.html http://occt-tests/CR28890-master-OCCT/Windows-64-VC10/bugs/vis/bug28890.html bugs vis bug28890: OK Testing on Linux: occt component : Total CPU difference: 18949.42000000012 / 19289.600000000315 [-1.76%] Total MEMORY difference: 92162000 / 91873630 [+0.31%] products component : Total CPU difference: 6444.170000000065 / 6487.850000000069 [-0.67%] Total MEMORY difference: 37647654 / 37650261 [-0.01%] Testing on Windows: occt component : Total CPU difference: 17773.19392999852 / 17787.234019998614 [-0.08%] Total MEMORY difference: 59027834 / 59031436 [-0.01%] products component : Total CPU difference: 6675.688392600067 / 6584.849010300061 [+1.38%] Total MEMORY difference: 27877015 / 28099545 [-0.79%] There are no differences in images found by testdiff. |
|
Dear kgv, Branch CR28890 has been rejected due to: - compilation errors on Windows platform in Samples |
|
Please check Product samples compilation within patch pushed to Products. |
|
Dear BugMaster, Branch CR28890 from products git-repository was compiled on Linux, MacOS and Windows platforms on Release mode. SHA-1: 2cc6d6cf3d6e1ae59261b1d954aeeb4300efc741 Number of compiler warnings: products component : Linux: 64 (64 on master) Windows: 0 (0 on master) MacOS : 1136 There are not compilation errors on Windows platform in Samples |
|
Dear BugMaster, Branch CR28890 from occt git-repository and branch CR28890 from products git-repository are TESTED. |
|
Branch CR28890 has been deleted by kgv. SHA-1: 56e7c4cbd182beabac4090e2b114fe974b825b06 |
occt: master 851dacdb 2017-07-07 14:06:09 Committer: bugmaster Details Diff |
0028890: Visualization - After closing all views and then display the view again, just the first view has object(s) displayed DeviceLost flag has been moved from Graphic3d_GraphicDriver to Graphic3d_StructureManager, so that all Viewers sharing the same Driver instance are properly invalidated. Fixed clearing of objects by vclear command in case of multiple Viewers. |
Affected Issues 0028890 |
|
mod - src/D3DHost/D3DHost_GraphicDriver.cxx | Diff File | ||
mod - src/D3DHost/D3DHost_View.cxx | Diff File | ||
mod - src/D3DHost/D3DHost_View.hxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_GraphicDriver.cxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_GraphicDriver.hxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_StructureManager.cxx | Diff File | ||
mod - src/Graphic3d/Graphic3d_StructureManager.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_GraphicDriver.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_GraphicDriver.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_View.cxx | Diff File | ||
mod - src/OpenGl/OpenGl_View.hxx | Diff File | ||
mod - src/OpenGl/OpenGl_View_Redraw.cxx | Diff File | ||
mod - src/V3d/V3d_View.cxx | Diff File | ||
mod - src/ViewerTest/ViewerTest.cxx | Diff File | ||
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx | Diff File | ||
add - tests/bugs/vis/bug28890 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-07-04 13:02 | Vico Liang | New Issue | |
2017-07-04 13:02 | Vico Liang | Assigned To | => kgv |
2017-07-04 13:11 | Vico Liang | Description Updated | |
2017-07-07 16:18 | kgv | Steps to Reproduce Updated | |
2017-07-07 17:03 | kgv | Summary | After closing all views and then display the view again, just the first view has object(s) displayed => Visualization - After closing all views and then display the view again, just the first view has object(s) displayed |
2017-07-07 17:06 | git | Note Added: 0068093 | |
2017-07-07 17:14 | git | Note Added: 0068094 | |
2017-07-07 17:24 | git | Note Added: 0068097 | |
2017-07-07 17:24 | kgv | Note Added: 0068098 | |
2017-07-07 17:24 | kgv | Assigned To | kgv => apl |
2017-07-07 17:24 | kgv | Status | new => resolved |
2017-07-11 10:53 | git | Note Added: 0068177 | |
2017-07-11 11:42 |
|
Note Added: 0068182 | |
2017-07-11 11:42 |
|
Assigned To | apl => bugmaster |
2017-07-11 11:42 |
|
Status | resolved => reviewed |
2017-07-11 12:20 |
|
Assigned To | bugmaster => mkv |
2017-07-11 17:30 |
|
Note Added: 0068192 | |
2017-07-11 17:30 |
|
Note Added: 0068193 | |
2017-07-11 17:30 |
|
Assigned To | mkv => kgv |
2017-07-11 17:30 |
|
Status | reviewed => assigned |
2017-07-11 17:30 |
|
Test case number | => bugs vis bug28890 |
2017-07-11 19:25 | kgv | Note Added: 0068201 | |
2017-07-11 19:25 | kgv | Assigned To | kgv => bugmaster |
2017-07-11 19:25 | kgv | Status | assigned => resolved |
2017-07-11 19:25 | kgv | Status | resolved => reviewed |
2017-07-11 19:26 | kgv | Note Edited: 0068201 | |
2017-07-11 20:10 |
|
Assigned To | bugmaster => mkv |
2017-07-12 16:26 |
|
Note Added: 0068213 | |
2017-07-12 16:27 |
|
Note Added: 0068214 | |
2017-07-12 16:27 |
|
Assigned To | mkv => bugmaster |
2017-07-12 16:27 |
|
Status | reviewed => tested |
2017-07-14 13:55 | bugmaster | Changeset attached | => occt master 851dacdb |
2017-07-14 13:55 | bugmaster | Status | tested => verified |
2017-07-14 13:55 | bugmaster | Resolution | open => fixed |
2017-07-17 10:05 | git | Note Added: 0068348 | |
2017-09-29 16:18 |
|
Fixed in Version | => 7.2.0 |
2017-09-29 16:28 |
|
Status | verified => closed |