eneec / geoda

Automatically exported from code.google.com/p/geoda
GNU General Public License v3.0
0 stars 0 forks source link

Transparency Support #130

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Currently GeoDa uses a yellow (default) crosshatch pattern to do highlighting.  
The problem is that all colors are completely opaque.  On a crowded view, there 
is a problem with forground objects obscuring the colors of background objects. 
  In a PCP map in particular, this can lead to the perception that some 
categorized observations are more numerous than they actually are.  Transparent 
colors could help with this issue.  Additional, transparent colors will give 
GeoDa a more polished modern look.   In the near future when we support 
background images in maps, transparent colors will allow the background to show 
through.

Original issue reported on code.google.com by mmcc...@gmail.com on 4 Apr 2014 at 5:44

GoogleCodeExporter commented 9 years ago
Some initial testing shows that enabling transparencies (alpha blending) in 
GeoDa is possible.  However, alpha blending is only available through the 
wxGraphicsContext (cairo) which is only native to OSX.  Initial testing shows a 
minimal slowdown for OSX, but for Windows and Unix there is a massive slowdown. 
 More investigation is needed.

Original comment by mmcc...@gmail.com on 7 Apr 2014 at 11:57

GoogleCodeExporter commented 9 years ago
cross-platform issues may need new assessment with new wx version

Original comment by lanse...@gmail.com on 25 Jun 2015 at 2:19

GoogleCodeExporter commented 9 years ago
first, there is no performance issue of transparency on mac osx.
second, to support transparency on windows, wxGraphicsDeviceContext has to be 
used, and the implementation of wxGrap... is slower on windows platform. 
thrid: the performance of wxGraph is about 1.5x slower on windows than on mac 
osx.

here is a proposed solution: the transparency support will be enabled on 
windows only when user select to draw basemap. 

fix is proposed in ci 3687.

fix will be in build >= 1.7.37

Original comment by lixun...@gmail.com on 7 Jul 2015 at 6:02

GoogleCodeExporter commented 9 years ago
wxGraphicsDeviceContext on Windows was typically about 20x slower according to 
my testing.  However, there was an effort last year by a student on a Google 
Summer of Code scholarship to fix.  The next version of wxWidgets, (3.0.4 or 
3.1?) should have these changes.

The wxGraphicsDeviceContext has been the native implementation on Mac for years 
now and therefore supports all of the advanced/modern 2D rendering capabilities 
on the Mac with now slowdown.  This is why I used both wxDC and wxGC on the 
backend depending on the OS.  Hopefully only wxGC will be needed in the future! 
 Good luck :)

Original comment by mmcc...@gmail.com on 7 Jul 2015 at 6:14

GoogleCodeExporter commented 9 years ago
the performance of wxGC is about 15x slower from another test using big dataset.

So the fix logic is change to: transparency will be manipulated via raw bitmap 
data to avoid any performance issue on different platforms

fix is proposed in ci 3688

fix will be in 1.7.37

Original comment by lixun...@gmail.com on 8 Jul 2015 at 7:53