[SOLVED] Why is there a red triangle with an exclaimation mark it it on top of my window in the designer?

Answered Closed
0
0

I have a window which I have been designing.

At some point, when viewed in the designer, the window header disappeared and has been replaced by a red triangle with an exclamation mark in it (see attachment).

There are no errors shown in VS and no tooltip for the triangle and I can still edit the window and its associated controls. The application still runs correctly and the window header renders perfectly. I’ve closed VS and restarted and the triangle is still there.

What is the triangle trying to tell me?

 

Thanks

Nic

 

  • You must to post comments
Best Answer
0
0

Using custom font with  the designer and Edge seems to be fixed in development. It was the woff2 format that chocked IE and Edge. WJ-8276 and WJ-8275.

The best way to get the resources from google fonts is to use http://www.localfont.com/

Make sure that the sources array has woff for IE and Edge and woff2 for Chrome, although woff works in Chrome as well.

  • You must to post comments
0
0

I don’t think the designer is liking the data urls. The triangles are still appearing when selecting my theme.

  • Luca (ITG)
    Hi Mark, this is to let you know that we are also working on this and trying to improve the way custom fonts are used at design time.
  • You must to post comments
0
0

Nevermind I think I figured it out just went to this website. Put the link to the google font and generated a data uri

https://dopiaza.org/tools/datauri/index.php

  • Luca (ITG)
    Cool. I’ll try that too. The warning means that the font is taking too long to download and install in the renderer. Google fonts service is always slow and IE is slow by itself to install the font. Two more reasons I dislike the font icons workaround.
  • You must to post comments
0
0

If I wanted to use the Roboto font from google whats the best way to get it into the theme file to avoid the exclamation marks?

  • You must to post comments
0
0

Thanks Luca,

I really appreciate the explanation of the inner workings. You were correct that removing the font fixed the issue.

Nic

 

  • You must to post comments
0
0

And I wanted to add that all the designer related code and work is obviously not needed and not even deployed at runtime. It’s all in Wisej.Core.Design and Wisej.Web.Design which are installed in the GAC and not even present in the project.

  • You must to post comments
0
0

And from the screenshot I can see that you are using the material-3 theme. Which downloads the roboto font from google and it’s slow to download install in the renderer. I noticed that issue as well. If you open the .theme file and remove the roboto font the problem should disappear.

  • You must to post comments
0
0

 

Sorry for the long answer, but I like to talk about the technology behind Wisej 🙂

That icon indicates that the html renderer didn’t respond in time. There is an internal timeout to manage a pool of renderers and avoid long running operations. For example, if a component was downloading a large javascript library, or if there is javascript that takes a long time. It also depends on the machine, etc. This is something that we are still fine tuning, but there will always be instances where the renderer couldn’t complete the task in time.

Since html rendering (and svg rendering) is an intensive task and central to Wisej unique feature set, we built a more or less self-healing system that manages a pool of renderers that are periodically cleared and are observed for responsiveness. We use IE OLE’s IViewObject, which is very fast and built-in windows – plus a lot more code to queue tasks, paint over the client and non-client area, set the emulation level, interact with Visual Studio, load local and remote resources, etc. Wisej uses it through IWebBrowserRenderer which can be changed, in fact we also have (had) the same implementation based on chromium. But chromium turned out to be extremely slower than IE when used as a renderer, and about 60M more to download.

Usually that warning is harmless, you can press the refresh button in the toolbox at the bottom of the designer to refresh the page. In some cases closing the designer window and reopening also clears the issue since some code/images maybe cached after the first try.

In some cases you may see a control that  is not rendered completely (an icon is missing, for example), which is also fixed with a refresh. Sometimes some controls are able to inform the renderer that they need a refresh and you will see the warning disappeare by itself. Some other controls may ask the designer to change their size since we are able to accurately measure the control only after fully rendering the html.

Take the tabcontrol, for example, if you add many tabs and click on the right arrow to scroll, the renderer has to wait for the scroll operation to end to take the bitmap and pass it to the visual studio designer. Also, the tab control feeds back to the designer all its internal metrics to be able to track the mouse on the designer.

There will be a section only about this in the documentation, which is a priority.

HTH

Best,

Luca

  • You must to post comments
Showing 8 results