Visibility problem in graphics drawing - js API 4.10

4602
17
01-07-2019 08:48 AM
NettaBeninson
New Contributor III

We are trying to upgrade our js api to 4.10 (from 4.8, 4.9 had some problems) and we are experiencing a major issue with graphics drawing behavior.

When drawing new polyline/polygon - the new shape is partially to not visible during the draw action - as seen in the attached video.

During the drawing action:

1. The new drawn shape seems truncated/cut by 'squares' (tiles?)

2. New graphic text is smeared (we are using the recently activated halo)

3. hittest is working on complex graphic - but the graphic is not visible

This behavior indicates a major change from 4.9 and prior which is not documented, I think it is the same issue as version 4.10 of Javascript API, GraphicsLayer items truncated 

and also related to this issue:

Cut off of symbols with WebGL on. 

Is there an available fix or documentaion about the changes in "esri/views/2d/draw/Draw"?

Thanks!

0 Kudos
17 Replies
BradBarnell
New Contributor III

Here is the ESRI bug tracking number on this issue if anybody cares: BUG - 000119023

UndralBatsukh
Esri Regular Contributor

Brad Barnell‌ the issue number you provided will address polylines not rendering properly along its vertices. Xavier Irias‌ and Brad Barnell‌ if you can provide me with some reproducible case for graphics being cut off along tiles would be great. I have been trying to reproduce this issue and I am not able to so far. Based on everyone's screenshot seems like it happens at large scales... but that is the only clue I have so far. Xavier Irias‌ will you be able to provide a simple sample for what you mentioned above? 

Netta Beninson‌ at 4.10, WebGL is used to draw all layers. This would be the root of the problem. It is just I am not able to reproduce the issue. Any clues and steps how to reproduce the issue will help to solve this issue. 

Thank you

XavierIrias
New Contributor III

Well, it's not as boiled down as I would like but unfortunately the very, very simple cases don't seem to fail as much.  Here is a fiddle that shows the problem. 

esri javascript 4.10 - JSFiddle 

What you should see is a nice rendering of the Irish grid, a 5x5, that redraws when you pan or zoom.  Instead you sometimes see just fragments of the grid, other times you see it draw flawlessly. it seems to be data-dependent.

To make the behavior vanish you can comment out the Array.prototype.remove lines at the top of the javascript section.  Very odd, as I said this code never gets called but its presence plus an as-yet-unidentified data characteristic seems to trigger the bug.

I've found that refreshing the page yields different results, implying that possibly the WebGL system carries state from one refresh to the next.

UndralBatsukh
Esri Regular Contributor

Thank you so much for this reproducible case. We will investigate the issue. 

0 Kudos
UndralBatsukh
Esri Regular Contributor

Hi Xavier Irias

So we did see the problem with your reproducible case. We fixed the issue for your specific case (iteration over records when reshuffling).  Hopefully it will fix the issue the others are seeing. 

-Undral

0 Kudos
NettaBeninson
New Contributor III

Hi, sounds good!

Will the fix be available in 4.11 or there's a patch?

Thanks!

0 Kudos
UndralBatsukh
Esri Regular Contributor

Hi there, 

It will be fixed at 4.11.

-Undral

0 Kudos
THKPun
by
New Contributor

Hi Undral, 

I am wondering if there's any workaround for the problem (other than removing Array.Prototype.remove as Xavier suggested)? My application is still running on 4.10 unfortunately and I am looking to see if I can work around the problem until we upgrade. I've tried several other things to force a map redraw (e.g. resetting extent) but I am still seeing the problem. 

Thanks and any suggestion will be appreciated!

0 Kudos