Page MenuHomePhabricator

[Dashboard] All rendering tests are failing if compiled with Visual Studio 2012
Closed, ResolvedPublic

Description

If Visual Studio 2012 is used to compile MITK all rendering tests fail. The reason for this is that the dimension of all images is reduced by 8 pixel compared to the given size.

Event Timeline

The reason for the missing 8 pixel is a bug or unexpected behaviour in the windows libraries. If the rendering windows is resized, VTK makes use of the function SetWindowPos() and GetSystemMetrics () from the windows libraries.

The function GetSystemMetrics returns wrong values for the decoration size of the window. This leads to a wrong calculated window size. The problem is already known. A workaround will be to provide reference images with the corresponding size.

To really fix this bug, VTK needs to be fixed. For further information see:

http://stackoverflow.com/questions/11829249/visual-studio-2012-app-window-creation-resizing-differ-from-vs2008-window-creati

http://connect.microsoft.com/VisualStudio/feedback/details/753224/regression-getsystemmetrics-delivers-different-values

New remote branch pushed: bug-15799-AddNewReferenceScreenshots

[ef15d7]: Merge branch 'bug-15799-AddNewReferenceScreenshots'

Merged commits:

2013-08-08 10:53:14 Michael Goetz [49f0a5]
Changed Data Tag.

New remote branch pushed: bug-15799-MissingScreenshotsForVS2012Fix

New remote branch pushed: bug-15799-FixedMissingScreenshots

[ec5446]: Merge branch 'bug-15799-FixedMissingScreenshots'

Merged commits:

2013-08-14 15:11:39 Michael Goetz [377445]
Added new Reference Screenshots

Extremely important bug, because the nightly dartclients have lots of trouble with the rendering test:

The issue is:
Microsoft VS 2012 has a bug in a header that makes our vtkRenderWindows 8px too small. See Michaels previous posts for more information.

Solution:
Our first solution was adding new reference screen shots with lower resolution. This turns out to be very unfortunate, because we have to add a lot of extra screen shots AND if a test fails on another system, we only get the information that the resolution is different (usually we would get a difference image).

New solution:
Check if this problem still exists in VTK 6. If not, switch to VTK 6 asap.
If yes, apply a patch to VTK, to solve this issue for VS 2012.

(Also: Remove all smaller reference screen shots from MITK-Data).

@Michael: Could you take care of this?

New remote branch pushed: bug-15799-FailingRenderingTestsInVS2012

[9575f5]: Merge branch 'bug-15799-FailingRenderingTestsInVS2012'

Merged commits:

2013-10-23 13:42:40 Manuel Koebler [8699fa]
changed MITK-Data hashcode


2013-10-23 10:35:05 Manuel Koebler [3aa524]
+ created workaround for rendering tests