GBC
GBC

Reputation: 3326

PhpStorm very slow and sluggish on netbook, optimize IDE for responsiveness?

I recently upgraded from PhpStorm 6 to PhpStorm 7. Delighted to see all the improvements, but it runs awfully slow on my low-powered netbook. The delay between typing and seeing text appear is often 5-6 seconds and gets worse as line count increases. It is unusable at this stage.

How can I improve the general IDE speed and responsiveness?

Upvotes: 100

Views: 68527

Answers (9)

kmuenkel
kmuenkel

Reputation: 2789

I tried a few things. Eventually something worked, but I couldn't say what exactly.

  1. In my environment, I'm using a Docker container for my CLI interpreter. So I restarted all my Docker containers, and deleting all the lingering "phpstorm_helper..." images that seemed to be from previous versions of PhpStorm
  2. Cleaning out the IDE cache
  3. Adding this to my phpstorm.vmoptions: (Courtesy of a Redditor)
    1. -Xmx2g
      -XX:ReservedCodeCacheSize=1G
      -XX:+AggressiveOpts
      -XX:+UseFastAccessorMethods 
      -XX:+UseStringCache
      -XX:+UseCompressedOops
      -XX:+UseCompressedStrings
      -XX:+TieredCompilation
      -XX:ThreadStackSize=1m
      
    2. NOTE: Don't be alarmed if, after changing this, your IDE doesn't boot, and throws an error message that the ThreadStackSize is set beyond the VM's limit. Just make note of where the phpstorm.vmoptions file is actually located before restarting the IDE, in case you need to navigate to it using some other text editor to turn that setting down until it can start up again.
  4. Deactivate whatever plugins and language injections your can live without
  5. If you have more than one project open, close all but one
  6. Make sure your JetBrains Toolbox login session hasn't expired. If it has, it may be failing to inform you that the IDE needs to be updated.
  7. Add ide.ui.new.file.chooser=true to idea.properties

Upvotes: 0

Danish Mehmood
Danish Mehmood

Reputation: 151

Try to exclude the C:\Program Files\JetBrains\PhpStorm 2020.1\plugins\ folder to the windows firewall exclude directories, that will make the phpstorm run faster and indexing will be quick.
Windows firewall thinks that malicious software has been installed with lot of jar files. This solution has worked for me. But I have excluded my project laravel folder too

Possible Solutions

  • Use and older version of phpstorm that your machine fully supports
  • Disable the unwanted plugins
  • Disable the unwanted inspections and intentions
  • Disable the unwanted browser support by pressing ctrl + alt + s then Tools > Web Browsers >

Upvotes: 2

Symphony0084
Symphony0084

Reputation: 1435

It is possible that it will help to increase the maximum memory allocation for PhpStorm beyond its default.

For mine, it was capped at 2GB. I know you asked about a windows machine, but for mac users reading this, you can change this by opening PhpStorm without opening a project. Then hit Configure > Edit Custom Properties and change the xmx value to a higher limit.

Upvotes: 2

ognockocaten
ognockocaten

Reputation: 864

In my case, PhpStorm wasn't slow at all - a bug in my monitor driver introduced severe lag, and it just happened that I dedicated that monitor to PhpStorm. If you've read this far, try PhpStorm on a different monitor, it would've saved me a lot of time.

Upvotes: 2

Ilan Schemoul
Ilan Schemoul

Reputation: 1662

OUTDATED IF YOU USE A VERSION MORE RECENT THAN 2017.1 :

The most effective way to speed up new phpstorm version is an experimental feature that is going to be shipped by default in phpstorm 2017.1. Until that you can activate it on jetbrains products (webstorm, phpstorm etc.)

Click on Help => Edit custom properties
Add editor.zero.latency.typing=true
Close and open again the application.

For me the change typing is not laggy anymore. Other tricks didn't helped me or not in a noticeable way.

Upvotes: 5

GBC
GBC

Reputation: 3326

Edit 2017: You may first want to try experimenting with allocating PhpStorm some more RAM if available. Do this by

  1. Going to Help -> Edit Custom VM Options
  2. Change -Xms and -Xmx to be something reasonable for your hardware. I have -Xms512m and -Xmx2048m on an 8GB RAM laptop.
  3. Restart PhpStorm.
  4. If you want to see how much RAM PhpStorm is currently using, you can go to File -> Settings and search for and enable show memory indicator.

Original answer: I made some changes to increase the responsiveness of the IDE. I'm sure there are more things one could do, but I found these to improve the performance to well within usable margins. From most effective to least:

  1. Disable language injections: File -> Settings -> Language injections. Untick as many boxes as you're comfortable with. HTML was the real killer for me.
  2. Disable inspections: File -> Settings -> Inspections. Untick as many as you don't need.
  3. Disable unused plugins: File -> Settings -> Plugins. Untick unused.

These changes brought down both the startup time and significantly increased responsiveness of the IDE in general.

Upvotes: 193

Jacques
Jacques

Reputation: 1709

Add these to your phpstorm.exe.vmoptions or phpstorm64.exe.vmoptions file, at the bottom:

-Dawt.useSystemAAFontSettings=lcd
-Dawt.java2d.opengl=true

Solid speedup to the point that the editor is now actually usable.

I will for the life of me just never understand why people create editors in Java.

Upvotes: 120

Mike
Mike

Reputation: 61

Try removing unnecessary files from your project. I had 3k+ *.html log files inside my project and that slowed down typing terribly when the 'Project' tab was open. (Hiding the project tab or turning off the PHP Plugin does also speeds up PHPStorm, but obviously those are not viable trade-offs.) (I'm using PHPStorm 2016)

Upvotes: 3

Shumoapp
Shumoapp

Reputation: 1599

If you need to speed up PhpStorm right away, turn on Power Save mode. (File > Power Save Mode or using "Hector the Inspector" icon in the IDE status bar). This mode turns off on-the-fly code inspections This way you can finish what you have started, and later decide what code inspections to deactivate.

Upvotes: 26

Related Questions