Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ol3.dom.MapRenderer: handle rotation #22

Closed
fredj opened this issue Aug 30, 2012 · 3 comments
Closed

ol3.dom.MapRenderer: handle rotation #22

fredj opened this issue Aug 30, 2012 · 3 comments

Comments

@fredj
Copy link
Member

fredj commented Aug 30, 2012

http://davidwalsh.name/css-transform-rotate

demo: http://mapbox.com/demo/running/

@fredj
Copy link
Member Author

fredj commented Aug 30, 2012

proof of concept : fredj/openlayers@openlayers:exp...dom-rotation

@twpayne
Copy link
Contributor

twpayne commented Aug 30, 2012

Nice proof of concept @fredj !

The tricky bit is browser behaviour. As I understand it, some browsers render the entire div to an intermediate image, transform that, round to the nearest pixel, render that, and you get a nice result. Other browsers transform each individual element, round them to that to the nearest pixel, and the net result is rendering artefacts between individual elements, as the proof of concept shows on Mac OS X / Chrome. I might be wrong: those with experience, please correct me.

That all said, I suspect that all of these problems can be overcome by using a 2D canvas renderer, which has the advantage of being hardware-accelerated on some browsers. Maybe this is another possible solution?

@fredj
Copy link
Member Author

fredj commented Aug 31, 2012

I've tried to force the hardware acceleration by using the -webkit-transform: translate3d(0, 0, 0); hack but without success.

Adding a 2D canvas renderer is a great idea. Not only for this issue but also for the mobile rendering (see http://m.maps.nokia.com/)

tsauerwein pushed a commit to tsauerwein/ol3 that referenced this issue Nov 21, 2014
[webgl-point] Webgl immediate implementation using a replay group
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants