Closed Bug 1160531 Opened 7 years ago Closed 6 years ago

[D2D1.1] Version 37.0+ doesn't render certain CSS rules in resolutions greater than 1680x1050

Categories

(Core :: Layout, defect)

37 Branch
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: gmerkley, Assigned: bas.schouten)

References

()

Details

(Keywords: regressionwindow-wanted, testcase)

Attachments

(5 files, 3 obsolete files)

User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36

Steps to reproduce:

1. Set your resolution to 1680x1050 or greater
2. Open Firefox
3. Maximize the Firefox window
4. Browse to a site that uses code similar to the attached documents (They are a reduced test case).
5. Note that the orange section doesn't render properly
6. "Restore Down" your Firefox (Run it in a smaller window than Maximized)
7. Refresh the page and see that the orange background displays properly

Notes:
* This issue only became apparent in version 37.0, and extends forward into the Developer Build and Beta. Testing on version 36.0.4 did not display this issue.
* Screen resolution plays into it largely, as when the screen is set to a resolution smaller than 1680x1050 the Maximized window functions properly, as well as the windowed instance.
* Issue is not universal, as only certain individuals/systems have had the issue, whereas others have not (dxdialogs attached to assist in debugging this).
* The issue only happens if you cross certain sites. I ran a local build of the production site, and didn't have the issue at all, and navigated around different past builds and the issue did not display itself. Went to a release site that was reportedly having the issue, and then all other releases I went to - including those that previously worked - now display the issue.
* Created a fresh Firefox profile prior to creating this, and the issue persisted there as well, so I am not inclined to believe it's a setting. 
* Video attached displays the issue visually, should this textual description not suffice. Note that the resolution used in the video is that of 1900x1200, only recording the relevant sections of screen.



Actual results:

Firefox treats the windowed instance separate from the Maximized Window instance. The Maximized Window instance wont display the orange background, or only displays it periodically in different, disjointed places though its really a singular element. 


Expected results:

It should have displayed the orange background at all times, and there should not be any discrepancies between resolution size, windowed vs maximized, and it should display the entire element in orange as it did in previous releases.
Attached file CSS Resolution Issue.htm (obsolete) —
HTML file as test case displaying the issue.
Attached file Resources.css (obsolete) —
CSS file for the html. Please alter the HTML reference to point to this file.
Attached file Video displaying the issue (obsolete) —
A link to a google drive video (WMV) which displays the issue should the display steps not suffice.
Screencast:
https://drive.google.com/file/d/0B6vMYejb05Nmd3lhajRjWk1ITUk/view?usp=sharing

1. Type about:support into the location bar and press Enter.
2. Click the Copy to Clipboard button.
3. Paste the clipboard contents in the comment reply box here.
4. Is there a difference when you do the following?
* In a new tab, paste the following into the address bar and press Enter:
about:config?filter=layers.offmainthreadcomposition.enabled
* To bypass the warning, press the big button labeled “I'll be careful, I promise!”.
* In the search results, double-click “layers.offmainthreadcomposition.enabled” to set its value to “false”.
* Restart Firefox. If it doesn't help, repeat the above steps but right-click the preference and choose Reset.
Attachment #8600331 - Attachment is obsolete: true
Attachment #8600332 - Attachment is obsolete: true
Attachment #8600335 - Attachment is obsolete: true
Flags: needinfo?(gmerkley)
Unsure if you want the Raw Data or the Text, as its unclear from your comment. Am supplying the Raw Data, as I assume its more robust and shows more information, or at least easier for you to parse as its JSON. Can be found at bottom of this comment.

As per your comments of about:config?filter=layers.offmainthreadcomposition.enabled, I can confirm that this did indeed resolve the issue in my case. Will test on similar systems with the issue to verify. What exactly is the issue at hand here, if I may ask? Is it something that was already known? Will it receive a bug fix, or is this the fix in and of itself?

{
  "application": {
    "name": "Firefox",
    "version": "37.0.2",
    "buildID": "20150415140819",
    "userAgent": "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0",
    "updateChannel": "release",
    "supportURL": "https://support.mozilla.org/1/firefox/37.0.2/WINNT/en-US/",
    "numTotalWindows": 1,
    "numRemoteWindows": 0
  },
  "crashes": {
    "submitted": [],
    "pending": 0
  },
  "modifiedPreferences": {
    "browser.cache.disk.smart_size.first_run": false,
    "browser.cache.disk.smart_size.use_old_max": false,
    "browser.cache.disk.capacity": 358400,
    "browser.cache.frecency_experiment": 1,
    "browser.places.smartBookmarksVersion": 7,
    "browser.search.useDBForOrder": true,
    "browser.sessionstore.upgradeBackup.latestBuildID": "20150415140819",
    "browser.startup.homepage_override.mstone": "37.0.2",
    "browser.startup.homepage": "http://ca.yhs4.search.yahoo.com/yhs/web?hspart=iry&hsimp=yhs-fullyhosted_003&type=wny_ir_15_18&param1=1&param2=f%3D1%26b%3DFirefox%26cc%3Dca%26pa%3DWinYahoo%26cd%3D2XzuyEtN2Y1L1QzutC0CyC0FyCyDzz0EtDzyzz0BtC0ByE0AtN0D0Tzu0StCtBtCyDtN1L2XzutAtFtCtDtFtBtFtDtN1L1CzutN1L1G1B1V1N2Y1L1Qzu2SyC0Ezz0EyC0AzyzztGyCzytD0DtG0AyD0EtBtG0C0CtA0AtGyCyC0DyD0B0B0DyCzy0ByB0E2QtN1M1F1B2Z1V1N2Y1L1Qzu2SyEyE0CtByE0C0FyBtG0ByDtA0CtGyEyBtC0FtGzytCyEzztGtC0C0B0FyCzzyDyCtB0FzztA2QtN0A0LzutB%26cr%3D98150407%26a%3Dwny_ir_15_18%26os%3DWindows 8.1 Pro",
    "browser.startup.homepage_override.buildID": "20150415140819",
    "dom.mozApps.used": true,
    "extensions.lastAppVersion": "37.0.2",
    "gfx.direct3d.last_used_feature_level_idx": 0,
    "media.gmp-gmpopenh264.lastUpdate": 1430417098,
    "media.gmp-gmpopenh264.version": "1.3",
    "media.gmp-manager.lastCheck": 1430417095,
    "network.cookie.prefsMigrated": true,
    "places.database.lastMaintenance": 1430418739,
    "places.history.expiration.transient_current_max_pages": 104858,
    "plugin.importedState": true,
    "plugin.disable_full_page_plugin_for_types": "application/pdf",
    "privacy.sanitize.migrateFx3Prefs": true,
    "storage.vacuum.last.places.sqlite": 1430418739,
    "storage.vacuum.last.index": 0
  },
  "lockedPreferences": {},
  "graphics": {
    "numTotalWindows": 1,
    "numAcceleratedWindows": 1,
    "windowLayerManagerType": "Direct3D 11",
    "windowLayerManagerRemote": true,
    "adapterDescription": "Intel(R) HD Graphics",
    "adapterVendorID": "0x8086",
    "adapterDeviceID": "0x0102",
    "adapterSubsysID": "00000000",
    "adapterRAM": "Unknown",
    "adapterDrivers": "igdumd64 igd10umd64 igd10umd64 igdumd32 igd10umd32 igd10umd32",
    "driverVersion": "9.17.10.3347",
    "driverDate": "1-29-2014",
    "adapterDescription2": "",
    "adapterVendorID2": "",
    "adapterDeviceID2": "",
    "adapterSubsysID2": "",
    "adapterRAM2": "",
    "adapterDrivers2": "",
    "driverVersion2": "",
    "driverDate2": "",
    "isGPU2Active": false,
    "direct2DEnabled": true,
    "directWriteEnabled": true,
    "directWriteVersion": "6.3.9600.17415",
    "webglRenderer": "Google Inc. -- ANGLE (Intel(R) HD Graphics Direct3D9Ex vs_3_0 ps_3_0)",
    "info": {
      "AzureCanvasBackend": "direct2d 1.1",
      "AzureSkiaAccelerated": 0,
      "AzureFallbackCanvasBackend": "cairo",
      "AzureContentBackend": "direct2d 1.1"
    }
  },
  "javaScript": {
    "incrementalGCEnabled": true
  },
  "accessibility": {
    "isActive": false,
    "forceDisabled": 0
  },
  "libraryVersions": {
    "NSPR": {
      "minVersion": "4.10.8",
      "version": "4.10.8"
    },
    "NSS": {
      "minVersion": "3.17.4 Basic ECC",
      "version": "3.17.4 Basic ECC"
    },
    "NSSUTIL": {
      "minVersion": "3.17.4",
      "version": "3.17.4"
    },
    "NSSSSL": {
      "minVersion": "3.17.4 Basic ECC",
      "version": "3.17.4 Basic ECC"
    },
    "NSSSMIME": {
      "minVersion": "3.17.4 Basic ECC",
      "version": "3.17.4 Basic ECC"
    }
  },
  "userJS": {
    "exists": true
  },
  "extensions": [
    {
      "name": "NoScript",
      "version": "2.6.9.22",
      "isActive": true,
      "id": "{73a6fe31-595d-460b-a920-fcc0f8843232}"
    }
  ],
  "experiments": []
}
Flags: needinfo?(gmerkley)
As a further update, this did resolve the issue on my system, as well as one of the other systems experiencing the issue. Upon setting the configuration back to its original setting, the field doesn't render as is intended again, therefore this seems to be the correct path to investigate.
(In reply to gmerkley from comment #8)
> What exactly is the issue at hand here, if I may ask? Is it something that was already known? Will it receive a
> bug fix, or is this the fix in and of itself?

Setting layers.offmainthreadcomposition.enabled to false could serve as a workaround, but it's not a fix. This is a problem with Off-Main-Thread Compositing (OMTC). The root of the problem is for someone else to determine.

―――――――

It works for me in Windows 7 x64 with Nvidia graphics. So this may be either specific to Intel graphics, or Windows 8.

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0

Adapter Description	NVIDIA GeForce 210
Adapter Drivers	nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Adapter RAM	128
Device ID	0x0a65
Direct2D Enabled	true
DirectWrite Enabled	true (6.2.9200.16571)
Driver Date	7-2-2014
Driver Version	9.18.13.4052
GPU #2 Active	false
GPU Accelerated Windows	1/1 Direct3D 11 (OMTC)
Subsys ID	34ee1458
Vendor ID	0x10de
WebGL Renderer	Google Inc. -- ANGLE (NVIDIA GeForce 210 Direct3D11 vs_4_1 ps_4_1)
windowLayerManagerRemote	true
AzureCanvasBackend	direct2d 1.1
AzureContentBackend	direct2d 1.1
AzureFallbackCanvasBackend	cairo
AzureSkiaAccelerated	0
Blocks: omtc
Component: Untriaged → Graphics
Keywords: testcase
Product: Firefox → Core
Summary: Version 37.0+ doesn't render certain CSS rules in resolutions greater than 1680x1050 → [OMTC] Version 37.0+ doesn't render certain CSS rules in resolutions greater than 1680x1050
(In reply to Gingerbread Man from comment #10)
> Setting layers.offmainthreadcomposition.enabled to false could serve as a
> workaround, but it's not a fix. This is a problem with Off-Main-Thread
> Compositing (OMTC). The root of the problem is for someone else to determine.


Awesome, that's what I gathered from your response that it was that threading operation. I was hoping this was just a work around, but figured I'd ask in this case to clarify.
Component: Graphics → Layout
Flags: needinfo?(nical.bugzilla)
Could you try the following two configurations (separately)?

1) disable Direct2D 1.1 by setting the pref "gfx.direct2d.use1_1" to false in about:config.

If it doesn't fix the issue, try:

2) disable accelerated painting by setting the pref "gfx.direct2d.disabled" to true in about:config.
Flags: needinfo?(gmerkley)
I went about and altered gfx.direct2d.use1_1 to false, reset the browser, and then navigated to the problem. The issue in this case was gone.

To further test the configuration, I then went to gfx.direct2d.disabled and set it to true. I then closed the browser and navigated to the page. The issue in this case was gone as well.
Flags: needinfo?(gmerkley)
(In reply to gmerkley from comment #13)
> I went about and altered gfx.direct2d.use1_1 to false, reset the browser,
> and then navigated to the problem. The issue in this case was gone.

Thanks!

Bas, I guess you are the most experienced with the D2D 1.1-specific stuff.
Assignee: nobody → bas
Flags: needinfo?(nical.bugzilla)
Summary: [OMTC] Version 37.0+ doesn't render certain CSS rules in resolutions greater than 1680x1050 → [D2D1.1] Version 37.0+ doesn't render certain CSS rules in resolutions greater than 1680x1050
I noticed that this is still set as an unconfirmed but has someone assigned to it, which doesn't match the workflow I read elsewhere on the site. Is there anything else I need to provide so that the ticket can be changed to confirmed, or is it still going through the processes?

https://www.bugzilla.org/docs/4.2/en/html/lifecycle.html
Status: UNCONFIRMED → NEW
Ever confirmed: true
Would someone mind explaining why this belongs in Layout? It's a Direct2D glitch, so why was it moved out of Graphics?

* Invisible content.
* Direct2D 1.1 glitch.
* Intel graphics.
* Apparent regression.

The way it's shaping up, I suspect it might be a regression introduced by bug 902952 (possibly even a duplicate of bug 1160070).

Bas, any comment on this?
Flags: needinfo?(bas)
Comment 16 mentions that this might be a dupe of bug 1160070, which was fixed in Fx40+. Does this work for you now, gmerkley?
Flags: needinfo?(gmerkley)
Closing this as incomplete due to inactivity and lack of response from the reporter. Feel free to reopen the bug if the issue still reproduces on a current build.
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(gmerkley)
Flags: needinfo?(bas)
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.