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

content in a drag drop component becomes blurry at non-default zoom on linux #14283

Closed
mtaran-google opened this issue Nov 26, 2018 · 9 comments · Fixed by #14299
Closed

content in a drag drop component becomes blurry at non-default zoom on linux #14283

mtaran-google opened this issue Nov 26, 2018 · 9 comments · Fixed by #14299
Assignees
Labels
area: cdk/drag-drop G This is is related to a Google internal issue P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent

Comments

@mtaran-google
Copy link

Bug, feature request, or proposal:

Bug

What are the steps to reproduce?

  1. open https://material.angular.io/cdk/drag-drop/overview on chrome 70+ on linux
  2. zoom to 110%
  3. drag the box in the first example around and notice that sometimes it's blurry (it should never get blurry)

The blurriness becomes more frequent/easier to spot if you change the font in the dialog box to 13px (it's at 14px by default). Still, it varies depending on the exact dragged spot, making me think this could be due to some sort of aliasing issue with how the position is set while dragging.

I'm told this also happens at lower and higher zoom levels (though things look fine at 100%).

Which versions of Angular, Material, OS, TypeScript, browsers are affected?

Affected: Linux, Chrome 70
Not affected: Chrome OS,

Is there anything else we should know?

Original internal issue for reference b/120034512

@crisbeto crisbeto self-assigned this Nov 26, 2018
@josephperrott josephperrott added the G This is is related to a Google internal issue label Nov 26, 2018
@crisbeto crisbeto added P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent has pr labels Nov 27, 2018
crisbeto added a commit to crisbeto/material2 that referenced this issue Nov 27, 2018
Rounds the `transform` value before they're assigned, in order to avoid blurriness in some browsers.

Fixes angular#14283.
jelbourn pushed a commit that referenced this issue Nov 28, 2018
Rounds the `transform` value before they're assigned, in order to avoid blurriness in some browsers.

Fixes #14283.
jelbourn pushed a commit that referenced this issue Nov 28, 2018
Rounds the `transform` value before they're assigned, in order to avoid blurriness in some browsers.

Fixes #14283.
jelbourn pushed a commit that referenced this issue Dec 3, 2018
Rounds the `transform` value before they're assigned, in order to avoid blurriness in some browsers.

Fixes #14283.
josephperrott pushed a commit to josephperrott/components that referenced this issue Jan 14, 2019
Rounds the `transform` value before they're assigned, in order to avoid blurriness in some browsers.

Fixes angular#14283.
@takamori
Copy link

Looks like this is still happening on Chrome 73.0.3683.75 on Linux using the originally-filed steps. Seems like zooming is the key factor; it seems that the fix in #14299 assumes that there is no browser zoom applied. For instance- if a 110% browser zoom is applied, ensuring that the translate3d() transform has values that are divisible by 10px will ensure that no blurriness occurs.

@takamori
Copy link

(and actually, not just on Linux, when browser zoom is applied - repro's just as easily on CrOS)

@alur
Copy link
Contributor

alur commented Mar 12, 2019

It's because the element is moved with translate3d. Moving it with just translate works without blur.

@jelbourn jelbourn reopened this Apr 1, 2019
@jelbourn jelbourn removed the has pr label Apr 1, 2019
@jelbourn
Copy link
Member

jelbourn commented Apr 1, 2019

@crisbeto getting reports that this is still a problem at non-default zoom levels. I'll ask people to provide more details if necessary.

@crisbeto
Copy link
Member

crisbeto commented Apr 2, 2019

It would be nice to get some more details since I can't think of anything else, off the top of my head that would cause the content to be blurry.

@takamori
Copy link

takamori commented Apr 2, 2019

I noted at #14283 (comment) that the original steps repro this still, and alur@ noted that the usage of translate3d is the cause. Can you clarify what details would be helpful here?

@crisbeto
Copy link
Member

crisbeto commented Apr 2, 2019

I managed to reproduce it now. I think that my Chrome might have been out of date the last time I tried to reproduce it.

crisbeto added a commit to crisbeto/material2 that referenced this issue Apr 2, 2019
Fixes the content of the dragged element being blurry on non-default zoom levels, because we were using a 3d transform to move the element around. These changes switch to a regular transform instead.

Fixes angular#14283.
@crisbeto crisbeto added the has pr label Apr 2, 2019
mmalerba pushed a commit that referenced this issue Apr 2, 2019
Fixes the content of the dragged element being blurry on non-default zoom levels, because we were using a 3d transform to move the element around. These changes switch to a regular transform instead.

Fixes #14283.
crisbeto added a commit to crisbeto/material2 that referenced this issue Apr 13, 2019
Fixes the content of the dragged element being blurry on non-default zoom levels, because we were using a 3d transform to move the element around. These changes switch to a regular transform instead.

Fixes angular#14283.
crisbeto added a commit to crisbeto/material2 that referenced this issue Jul 18, 2019
Fixes the content of the dragged element being blurry on non-default zoom levels, because we were using a 3d transform to move the element around. These changes switch to a regular transform instead.

Fixes angular#14283.
crisbeto added a commit to crisbeto/material2 that referenced this issue Aug 7, 2019
Fixes the content of the dragged element being blurry on non-default zoom levels, because we were using a 3d transform to move the element around. These changes switch to a regular transform instead.

Fixes angular#14283.
@crisbeto
Copy link
Member

Closing since this looks like a browser issue, rather than something we can fix on our end (see the discussion on #15695).

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Aug 26, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area: cdk/drag-drop G This is is related to a Google internal issue P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent
Projects
None yet
7 participants