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

Issues with text rendering on Edge #24

Closed
bryo5363 opened this issue Oct 12, 2015 · 19 comments
Closed

Issues with text rendering on Edge #24

bryo5363 opened this issue Oct 12, 2015 · 19 comments

Comments

@bryo5363
Copy link

Test device: Acer Aspire R13

Operating System: Windows 10 64 bit

Browser: Microsoft Edge 20.10240.16384.0

Problem description: The moles, liters and concentration strings do not load immediately

Steps to reproduce:
open sim
select a different solution
the strings will not load immediately

Severity:

Screenshots:

Troubleshooting information (do not edit):

Name: ‪Molarity‬

URL: http://www.colorado.edu/physics/phet/dev/html/molarity/1.2.0-rc.1/molarity_en.html

Version: 1.2.0-rc.1 2015-10-01 21:51:38 UTC

Features missing: touch

Flags: pointerEnabled, pixelRatioScaling

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240

Language: en-US

Window: 1280x602

Pixel Ratio: 1.5/1

WebGL: WebGL 0.95

GLSL: WebGL GLSL ES 0.95

Vendor: Microsoft (Internet Explorer)

Vertex: attribs: 16 varying: 15 uniform: 512

Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 32)

Max viewport: 16384x16384

OES_texture_float: true

Dependencies JSON: {"assert":{"sha":"858e65ac","branch":"master"},"axon":{"sha":"90798ec9","branch":"master"},"babel":{"sha":"931afbf1","branch":"master"},"brand":{"sha":"f2c42d7b","branch":"master"},"chipper":{"sha":"fc81a64e","branch":"master"},"dot":{"sha":"428a9836","branch":"master"},"joist":{"sha":"4a72198b","branch":"master"},"kite":{"sha":"fe8d3c5c","branch":"master"},"molarity":{"sha":"f5c4d5b3","branch":"1.2"},"nitroglycerin":{"sha":"9d8393fa","branch":"master"},"phet-core":{"sha":"8e31808c","branch":"master"},"phetcommon":{"sha":"acbbf59b","branch":"master"},"scenery":{"sha":"317e459d","branch":"master"},"scenery-phet":{"sha":"dac159c4","branch":"master"},"sherpa":{"sha":"1759eade","branch":"master"},"sun":{"sha":"12739cd4","branch":"master"}}

@pixelzoom
Copy link
Contributor

@bryo5363 Some questions, to clarify...

(1) There are no "liters" or "concentration" (lowercase) strings in the sim. Are you referring to the strings "(moles)" in the leftmost slider, "(Liters)" in the rightmost slider, and "Concentration" in the display to the right of the beaker? I find it odd that those strings would not display, since they are part of other strings.

(2) By "The moles, liters and concentration strings do not load immediately", do you mean that the strings are briefly not visible, then suddenly become visible? How long does it take for them to become visible? Do they all become visible at the same time?

(3) Is there anything printed to the browser console?

@bryo5363
Copy link
Author

Yes the data inside of the parentheses have a delayed rendering. After
switching solutions, it takes approximately 5 seconds before they load (all
strings load at the same time). It might just be a resizing issue. I will
provide a screencast after my class
On Oct 12, 2015 11:47 AM, "Chris Malley" [email protected] wrote:

@bryo5363 https://github.com/bryo5363 Some questions, to clarify...

(1) There are no "liters" or "concentration" (lowercase) strings in the
sim. Are you referring to the strings "(moles)" in the leftmost slider,
"(Liters)" in the rightmost slider, and "Concentration" in the display to
the right of the beaker? I find it odd that those strings would not
display, since they are part of other strings.

(2) By "The moles, liters and concentration strings do not load
immediately", do you mean that the strings are briefly not visible, then
suddenly become visible? How long does it take for them to become visible?
Do they all become visible at the same time?

(3) Is there anything printed to the browser console?


Reply to this email directly or view it on GitHub
#24 (comment).

@pixelzoom
Copy link
Contributor

@bryo5363 wrote:

Yes the data inside of the parentheses have a delayed rendering.

The word "Concentration" is not inside parentheses. Did you mean "(Molarity)" instead of "Concentration"? And is there delayed rendering of the parentheses too, or just the words inside the parentheses?

@pixelzoom pixelzoom self-assigned this Oct 12, 2015
@pixelzoom pixelzoom changed the title Issues with rendering on Edge Issues with text rendering on Edge Oct 12, 2015
@bryo5363
Copy link
Author

@pixelzoom
Copy link
Contributor

Thanks for the screencast.

Some notes:

(1) Contrary to the original report, the "Concentration" string is not affected. This affects the units labels: "moles", "Liters", "Molarity".

(2) Not only are those strings not being rendered, some parts of them are being rendered in the wrong locations. For example, at 00:05 in the screencast, note that "moles" and part of "Liters" is rendered over near the Concentration display, rear the top-right of the beaker. Here's a screenshot:

screenshot_32

@pixelzoom
Copy link
Contributor

I have no idea what the problem might be here, but it is highly likely to be a problem that affects all sims. I don't have a test system with Edge, but if I did, I have no idea how I'd go about troubleshooting this.

Assigning to @jonathanolson to see if he has any ideas. Labeling as "high priority" since this is liable to be a general issue.

@jonathanolson
Copy link
Contributor

Not able to reproduce in Edge/12.9600, will try updating to a newer version.

@jonathanolson
Copy link
Contributor

Reproducing in latest Edge from Win10 modern.ie VM, Edge/10240 (same as reported problem above).

It seems to be SVG specific for us (setting renderer to 'canvas' resolves it). Removing embedding marks seems to fix it for the English version, but NOT the Arabic version. Removing the SVG text parameters (e.g. text-rendering, textLength, lengthAdjust, xml:space preserve) have no effect. Most things that cause a repaint seem to fix the issue, and some operations cause it to break again (most notably, operations that add/remove SVG elements).

https://connect.microsoft.com/IE/Feedback/Details/1848037 appears to be a similar issue, and was reported on 9/29/2015.

I'll plan to add information to that bug report, and investigate more tomorrow.

@jonathanolson
Copy link
Contributor

Submitted comment, which has a few additional details about potential workarounds (one that works for English for NOW, but doesn't work for RTL locales).

@jonathanolson
Copy link
Contributor

Looks like there are some other reports for the same issue:
https://connect.microsoft.com/IE/Feedback/Details/1571965
https://connect.microsoft.com/IE/feedback/details/1567173

The first report of problems was about 2.5 months ago.

It looks like the bug occurs on group transforms. I'll look into possibly adding another operation on groups when they are transformed, to see if we can trick the browser into working.

Otherwise, my recommendation is to set the default Edge renderer to Canvas. Its appearance looked fine (and thankfully image/text rendering on Edge has always looked good, unlike some other browsers), so performance would be my main concern.

@pixelzoom
Copy link
Contributor

Otherwise, my recommendation is to set the default Edge renderer to Canvas.

Would that default be set by the sim, or by scenery?

@jonathanolson
Copy link
Contributor

Otherwise, my recommendation is to set the default Edge renderer to Canvas.

Would that default be set by the sim, or by scenery?

Presumably in Joist we would set the default to 'svg' if it's Edge, but Scenery might also prevent Text as rendering in SVG in Edge.

@jonathanolson
Copy link
Contributor

One workaround someone did on something static was to update CSS colors for the text after changes.

@jonathanolson
Copy link
Contributor

Updating CSS/styles/visual parameters after transform updates doesn't seem to help. Additionally using textPath with a straight line doesn't seem to help.

@jonathanolson
Copy link
Contributor

Tested Canvas renderer on Edge on actual hardware. No observable difference in performance for Molarity, and a few other spot-tests didn't reveal significant performance differences. Visually, there was a slight bias towards more antialiasing (slightly fuzzier lines) on shapes and text, but it is hardly noticeable, and I'd say definitely acceptable.

I've committed this workaround (using Canvas for Edge), as it's my only current solution.

@jonathanolson
Copy link
Contributor

@ariel-phet, how to proceed?

@ariel-phet
Copy link

@jonathanolson using Canvas for edge seems like a reasonable current solution.

@ariel-phet
Copy link

Did you need more comment than that?

@jonathanolson
Copy link
Contributor

Did you need more comment than that?

Nope. I'm closing the issue, as the workaround was already committed. @pixelzoom, I'd recommend for the next RC that full testing be done for Edge/Win10.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants