# Serious issue: Julia language Keyboard Lag Typing Very Slow

**URL:** https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081
**Category:** Performance
**Tags:** windows, bug
**Created:** [December 10, 2019, 4:41am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081 "2019-12-10T04:41:45Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)
#### Post date: [December 10, 2019, 11:45pm UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/21 "2019-12-10T23:45:27Z")

</div>

This could be due to Gtk!  
[https://github.com/JuliaGraphics/Winston.jl/blob/master/Project.toml#L11](https://github.com/JuliaGraphics/Winston.jl/blob/master/Project.toml#L11)  
The really bad thing is, that one doesn’t even notice that Gtk gets loaded…  
This is why I recently opened this PR: [https://github.com/JuliaGraphics/Gtk.jl/pull/454](https://github.com/JuliaGraphics/Gtk.jl/pull/454)  
Which probably hasn’t been tagged yet…

---

<div class="post-metadata">

### Author: ![JosephPollacco](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josephpollacco/32/51404_2.png) [@JosephPollacco](https://discourse.julialang.org/u/JosephPollacco)
#### Post date: [December 11, 2019, 1:36am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/22 "2019-12-11T01:36:34Z")

</div>

Thanks for your suggestions I disabled the **Real-Time protection** and to my greatest regret this did not help 😒. It is good to know that it is not an antivirus problem.

But below you will find the solution below.

---

<div class="post-metadata">

### Author: ![JosephPollacco](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josephpollacco/32/51404_2.png) [@JosephPollacco](https://discourse.julialang.org/u/JosephPollacco)
#### Post date: [December 11, 2019, 1:40am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/23 "2019-12-11T01:40:43Z")

</div>

Thanks Sdanisch,

I removed the **Winston** package 💥 and the problem is now solved 😀. I have no longer the lag problem of typing and Visual Studio runs fast.

This is a real pity since **Winston** has an amazing syntax and is fast, now I need to look for an other package.

---

<div class="post-metadata">

### Author: ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)
#### Post date: [December 11, 2019, 2:28am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/24 "2019-12-11T02:28:07Z")

</div>

If you think generating that warning is important, you should create a new PR. Looks like the warning added in that PR has been overwritten on master. 😕

---

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [December 11, 2019, 6:13am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/25 "2019-12-11T06:13:31Z")

</div>

@sdanisch Is it then known that Gtk will cause trouble on Windows? And the reported problem does not by itself have anything to do with Winston?

---

<div class="post-metadata">

### Author: ![JosephPollacco](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josephpollacco/32/51404_2.png) [@JosephPollacco](https://discourse.julialang.org/u/JosephPollacco)
#### Post date: [December 11, 2019, 10:08am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/26 "2019-12-11T10:08:30Z")

</div>

Since it is best not to use **Winston plotting package** since it is no longer maintained , what plotting package will you suggest to use which does not make usage of _DataFrame_ and does not rely of **Gtk** since we found that it causes issues?

I need the plots to be _relatively fast_ as I require to plot 100 plots each time and which plots as **.svg** so I can view the outputs in a browser? It will be nice if the plots offers some flexibility in the design of the plot?

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [December 11, 2019, 10:46am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/27 "2019-12-11T10:46:59Z")

</div>

using Winston is fine. While there is indeed currently nobody fully responsible for maintenance, I usually do the releases and look that it is still working because I use Winston in a larger application.

The Windows Gtk issue is, however, something that I do not have a solution for.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [December 11, 2019, 11:39am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/28 "2019-12-11T11:39:34Z")

</div>

I think GR is quite fast and lightweight, and can do SVG.

> **[GitHub - jheinen/GR.jl: Plotting for Julia based on GR, a framework for...](https://github.com/jheinen/GR.jl)**
>
> Plotting for Julia based on GR, a framework for visualisation applications - GitHub - jheinen/GR.jl: Plotting for Julia based on GR, a framework for visualisation applications

You can use it directly, or as a backend to Plots.jl.

---

<div class="post-metadata">

### Author: ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)
#### Post date: [December 11, 2019, 2:54pm UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/29 "2019-12-11T14:54:56Z")

</div>

Just as an idea: It should be relatively easy to build a ‘headless’ Winston, that doesn’t use any windowing toolkit, as all rendering is done via Cairo anyway. Simply opening a SVGSurface, plot to it and save to file.

---

<div class="post-metadata">

### Author: ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)
#### Post date: [December 11, 2019, 4:40pm UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/30 "2019-12-11T16:40:35Z")

</div>

Silly me. I just forgot that we still don’t have optional imports …

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [December 11, 2019, 7:47pm UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/31 "2019-12-11T19:47:57Z")

</div>

Winston used to be dependent on either Tk or Gtk and you are right that in principle no dependency is required at all. But I will not push this forward since its an ugly workaround. Gtk should be simply fixed on Windows. If Julia’s task system in 1.3 is so advanced as promised, there should be a solution to it. It just needs someone having experience with event loops and Julia’s task machinery. I don’t have experience with both plus and don’t use Windows. So thus I cannot contribute to it…

---

<div class="post-metadata">

### Author: ![JosephPollacco](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josephpollacco/32/51404_2.png) [@JosephPollacco](https://discourse.julialang.org/u/JosephPollacco)
#### Post date: [December 16, 2019, 2:52am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/32 "2019-12-16T02:52:06Z")

</div>

Thanks for providing me an alternative solution to **Winston**. I was considering **GR** of **PlotlyJS**. Are there advantages of using **GR** directly rather than by using the backend Plots which may add an other layer of complexity? Thanks for any suggestions.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [December 16, 2019, 5:19am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/33 "2019-12-16T05:19:27Z")

</div>

Generally by using a backend directly you can do things that the generic code may not implement (yet), though GR is one of the backends with highest coverage. OTOH, using Plots.jl allows you to switch backends later if you want to.

---

<div class="post-metadata">

### Author: ![Losses](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/losses/32/9175_2.png) [@Losses](https://discourse.julialang.org/u/Losses)
#### Post date: [December 16, 2019, 6:06am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/34 "2019-12-16T06:06:28Z")

</div>

Same problem… but didn’t meet any crashes

---

<div class="post-metadata">

### Author: ![rapus95](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rapus95/32/3773_2.png) [@rapus95](https://discourse.julialang.org/u/rapus95)
#### Post date: [December 16, 2019, 9:08am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/35 "2019-12-16T09:08:41Z")

</div>

Regarding the Visual Studio Code language server crashes, these should be fixed in the upcoming plugin version. Related issue: [https://github.com/julia-vscode/julia-vscode/issues/876](https://github.com/julia-vscode/julia-vscode/issues/876)

---

<div class="post-metadata">

### Author: ![JosephPollacco](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josephpollacco/32/51404_2.png) [@JosephPollacco](https://discourse.julialang.org/u/JosephPollacco)
#### Post date: [December 16, 2019, 9:26am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/36 "2019-12-16T09:26:08Z")

</div>

Thanks for your time and for your suggestions 😀

---

<div class="post-metadata">

### Author: ![JosephPollacco](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josephpollacco/32/51404_2.png) [@JosephPollacco](https://discourse.julialang.org/u/JosephPollacco)
#### Post date: [February 13, 2020, 6:44am UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/37 "2020-02-13T06:44:33Z")

</div>

Thanks for recommending me GR. As you recommended I tested GR as a backend using plots. The plots are beautiful, nevertheless, I am surprised that the plotting seem to be _100 times slower_ than **WINSTON** (before Windows update). Do you think that **GRUtils** will solve the problem of plotting speed?

---

<div class="post-metadata">

### Author: ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)
#### Post date: [February 13, 2020, 10:33pm UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/38 "2020-02-13T22:33:03Z")

</div>

Well, now that Tk.jl is back in circulation, and with guaranteed installation on all platforms via jll’s, maybe it’s time for Winston to go back to it’s roots and use Tk. 😃

---

<div class="post-metadata">

### Author: ![JosephPollacco](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josephpollacco/32/51404_2.png) [@JosephPollacco](https://discourse.julialang.org/u/JosephPollacco)
#### Post date: [February 13, 2020, 10:49pm UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/39 "2020-02-13T22:49:16Z")

</div>

This is good news, to clarify does this mean that we can now use Winston on Windows or do we need to wait for this to happen?

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [February 13, 2020, 10:55pm UTC](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081/40 "2020-02-13T22:55:52Z")

</div>

What is the motivation of using Tk instead of Gtk? The code was problematic when it was possible to switch between Tk and Gtk.

[Previous page](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081.md?page=1)

[Next page](https://discourse.julialang.org/t/serious-issue-julia-language-keyboard-lag-typing-very-slow/32081.md?page=3)
