Freezing 30-60 secs on accidental variable mouseover |
Site Admin
|
You didn't post any info about the version of the IDE you're running.
Hints have been greatly improved in recent versions. |
||||||||||||
_________________ The PHP IDE team |
|
Hi Dmitri,
I am using PhpEd 19, build 19025 (Win10). I see the newest build 19116, which is about 1 year difference between the two versions. OK, I may try again after I renew my licence .. Though honestly, I am hesitating between another IDE due to very low progress pace on reported issues / new features .. I will update info here then, thank you. Lubos |
||||||||||||
|
Site Admin
|
My understanding is that the reported issues are fixed. We don't have any ongoing high level or critical issues.
As of the new features - it depends. Indeed, v19.1 didn't offer much, but we were able to focus on _new_features planned for v20. Regarding your case with hints, I can think of 2 possible root causes -- 1) you work with remote server and your network has poor throughput 2) debugger spends significant time serializing your data. You can check it by calling dbg_serialize($this) on the line just above the one shown on your screenshot and check how fast debugger converts your object before sending it back to the IDE. In my experience IDE unpacks even very large objects in fraction of a second. The rest is spent in the network. |
||||||||||||
_________________ The PHP IDE team |
|
Thank you for your fast response & hints.
I am developing on local network (not even local virtual machine - vagrant/docker, just direct WAMP apache on windows), so there should be no internet usage / remote at all. I guess it could be somehow related to Win10 memory occupation, because after I restart fully IDE it seems that for a while the issue disappears, and after a while comes back again. I also tried dbg_serialize($this), but I am receiving "[error] [php] dbg_serialize() expects parameter 1 to be unknown, object given (D:\_projects\app\modules\cms\components\CmsProcessor.php:1394)". OK, I will upgrade to newest version, thank you. Lubos PS: Would you mind sharing a little what's coming in PhpEd 20 and when it could be released .. ? Some developers may have happier day |
||||||||||||
|
Site Admin
|
Seems you didn't get it right. It's certainly remote even though everything is very local and there could be no real network involved at all. After all, drive C:\ from Wine perspectives is not the same as root directory hosting linux persepectives. This fact alone can not allow us to treat php as a locally running service.
From the IDE perspectives, there are just 2 cases - 1) php is running on the physically the same file system space -- it's a local case 2) all other cases are considered remote. |
||||||||||||
_________________ The PHP IDE team |
|
It's not Wine, it's Windows 10, physically the same file system space.
Please dont worry, I will update PhpEd in near future so the issue might be resolved. Thank you. |
||||||||||||
|
|
Is there any way to disable these hints in Settings?
Issue still persists (using 19333, Windows 10 and 7). When I mouseover large objects, it starts rendering hints (object dump) and freezes for some time. The freeze time depends probably on object depth & complexity and also available memory - in average for 2 - 40 secs, or even minutes (rarely). Most of time it works well, e.g. for primitive vars or simple objects - renders in a moments - which is 95% of cases. Problem occurs only with dumping large objects/classes. Many times I just accidentally hover with mouse over some class name - and bum! - IDE freezes if the object is large, I must wait and it's annoying. I would like to try turning this feature off. Alternatively - would it be possible by pressing ESC instantly cancel hints rendering ? That would be sufficient fix. Thanx. |
||||||||||||
|
Site Admin
|
Can you post a code example reproducing the problem?
If the object is really large, you can serialize it into a file so the sample would just read and unserialize then I'd hover mouse over to reproduce the problem? Second question - can you reproduce the problem with real server instead of Wine? As of your questions - if I reproduce the problem, I'll find or implement workaround. Meanwhile, I'm sorry, there is no checkbox to turn that feature off. I'd better try to find a way to limit depth and width of the objects when requested to show them in tooltips because it does not make sense to render for instance 1M lines on a tooltip window that does not support scrolling. |
||||||||||||
_________________ The PHP IDE team |
|
It is very hard to post anything to emulate error I guess.
What freezes on my PC might not freeze on somebody else's PC. It's not just one file or a few big files. It's the whole environment setup which would need to be simulated - including how much memory is available, how big is loaded project, background parsing etc .. Generally to emulate error I would suggest: - using PC with smaller memory (I have 6 GB on Windows 7 laptop, and 8 GB RAM on Windows 10) - loading 3-4 large projects into workspace (e.g. wordpress) - simply to exhaust RAM - start debug process and stop at some breakpoint - now try to hover over some object/class name which has few thousands lines of code - this is when it may sometime happen at my side. I understand that it's impossible to fix anything as long as you cannot emulate error. I would send you such a file, if I found guaranteed it will show the error - but it's not the case, but a set of environmental conditions. As to second question - I dont use Wine neither linux/unix, but normal native windows: https://en.wikipedia.org/wiki/Windows_7 https://en.wikipedia.org/wiki/Windows_10 Limiting depth of parsing would be very possibly helpful. So would hiding hint by pressing ESC key.
I believe this might be the root of the problem - when frozen, hint always covers and exceeds whole screen and I see dots ... at bottom - possibly PhpEd parses internally structures outside of visible area. |
||||||||||||||
|
Site Admin
|
Ok, no wine. It's strictly about two windows hosts.
I previously checked large objects (long and of significantly deep depth and with many inter-links / references between properties). The longest delay I saw was around 1-3 seconds. Corresponding serialized string was around for 20MB. Looks like it's 10-40 times better than in your case. - Can your serialize your object that took 40sec and test whether a simple script of 3 lines would reproduce the problem? -- the lines like read file containing serialized data, unserialize() function call, and some statement with the result where you'd hover mouse over. It's clear that potentially it won't be reproduced because heap memory pressure is very different. But if the problem is in debugger or in client-server communication you'll see no significant difference in time. This way we can eliminate heap pressure and related environment related variables from the equation. - Can you eliminate two host setup and run on single one? This way we'd eliminate inter-host communication issues. |
||||||||||||
_________________ The PHP IDE team |
Freezing 30-60 secs on accidental variable mouseover |
|
||
Content © NuSphere Corp., PHP IDE team
Powered by phpBB © phpBB Group, Design by phpBBStyles.com | Styles Database.
Powered by
Powered by phpBB © phpBB Group, Design by phpBBStyles.com | Styles Database.
Powered by