Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 08/17/19 in all areas

  1. Maybe this will help someone deciding on trying to use Delphi in VM: I used Delphi 10.2.3 in VMware for a month and I just reinstalled it back on my local machine, it just didn't really work for me in VM. So, specification: Desktop: Intel I7 4790K (4c/8t), 32 GB Ram and all SSDs; Windows 10. VMWare Workstation Pro 15.1 installed on local PC - I researched quite a lot on how to improve experience with VM Settings: Memory: 12GB Processors: 4 (processors: 2, cores per processor: 2) VM file is on separate SSD. Fresh Windows 10 installed in VM (+all updates + all latest drivers) To make it run a fast as possible (or to limit resources used) I disabled all non-essential services, cleaned up startup programs, no antivirus or antimalware installed. Very few other tools, just 7z, WinRar... Delphi 10.2.3 + IDEFixPack + MMX + GExperts + CNPack Disabled Start page + disabled Live binding. One of the reasons why I tried Delphi in VM is to have simple backup and grab-and-go Delphi environment. So, at first it seemed to work well, full build time was a bit slower, but not too annoying - 50% longer than compile time on local. A bit slower IDE, slower switching between Form and code. For the testing of concept it was acceptable and luckily at that time I didn't have any real development time scheduled, just some minor bug fixes. But as soon as I started really working with it, all these little things became very annoying, in a matter of few hours: - delays in mouse right-click in code to use Toggle Breakpoints or Refactor (rename variable) - delay on selecting Form controls and Object inspector to populate properties and Structure view - opening menus - even ctrl+home/end on large unit (40K loc ) was delayed - and other little delays here and there The delay I'm talking about is very minor, probably less or close to 1s, but when you use IDE a lot these delays become very apparent and annoying. For me this was too much after a few hours of real work. To summarize, I think I optimized VM as much as I could to run as fast as possible; the computer is still powerful enough even though is not brand new high-end computer; I don't have huge projects, but they do have some 100Ks loc each. If I would install all the rest of the tools I use in my daily development environment and run them as I do on local computer (memory regularly gets used 20GB+) it would slow down the whole VM experience even more. I doubt that VirtualBox or any server virtualization (Hyper-V?) would improve the experience. Maybe it's my patience (or the lack of it) that got tested really fast, but VM just isn't working for me. If anybody has different experience, please let me know if you have any advice on how to make the whole experience better - smoother IDE, like on local installation where runs really fast (very acceptable).
  2. David Heffernan

    Google Play Store - request extension for Delphi apps

    Choosing a better tool for mobile development is surely an option
  3. Darian Miller

    Using Delphi in Virtual machine for a month

    I've been using Delphi in a VM for a number of years utilizing VMWare Workstation and I believe it runs really well. It sounds like a VMWare settings / allocation issue. Couple pointers: - Do not utilize 'thin-provisioned' disks. Pre-allocate the assigned space otherwise you'll get sporadic speed issues as the disk increases in size. - Exclude the directory on the host machine where your VM files are stored from realtime AV scanning. If you cannot exclude a specific folder (like McAfee), get a different AV. - Don't try to assign too much RAM to the VM. Test scaling it back from 12GB to 10 and then 8. I have 64GB RAM in the host and only allocate 8GB to my Delphi VM. - Use SCSI virtual disks - Display: Accelerate 3D Graphics + assign a decent amount of graphics memory (1GB) - The more snapshots of a VM, the worse the performance seems. Make physical backups instead and get rid of your snapshots. - I periodically defragment the virtual disks within VMWare (https://docs.vmware.com/en/VMware-Workstation-Pro/15.0/com.vmware.ws.using.doc/GUID-BD914064-D20D-4032-9373-88F4DA7AE7C6.html) Some items I don't use, not sure on the performance benefit - Don't use the built-in Shared Folders - Don't use the built-in auto-protect - Don't sync time with host If you can swing it - use NVMe disk instead of SSD.
  4. Schokohase

    Using Delphi in Virtual machine for a month

    Windows 10 has a built in AV and you will see it in the AV test rankings (as any other AV software) at any position (depends on the test and the time).
  5. One option to consider: Instead of using the monitor/mouse/keyboard emulation of the VM, try connecting to the VM through Remote Desktop. In my experience that makes a lot of a difference.
  6. We have been using Delphi in a VMWare Workstation for over a decade. We have a team of about 12 people. Some remote workers use Delphi in a Citrix instance run on our XenDesktop environment. A decade ago, there were lots of problems. Windows activation issues. Delphi activation issues. etc. But we stuck with it because it ensured all team members have an identical instance set up appropriately. Also, if one computer crapped out, we were up and running within 20 minutes. These days, its a no brainer. We dont even have Delphi installed directly on the host machines any longer, so I cannot compare to a host installation on the same machine, but running in the VM is more than acceptable. All benchmarks we have run (i.e. running same executable inside vm and on real machine) are within 95% speed of each other. For profiling, we dont even both copying to the host machine any longer, unless we are profiling heavy multi-threaded work. What does make a big difference is to put the VM on an SSD. Compile times are much faster. Our App is about 2 million LOC, but we ensure that our individual units are not too large. Usually a few K LOC, up to a max of 20K LOC or so. CTRL+END is pretty instant for me, even in the largest units. Maybe we would get 1/2 sec better on some mouse actions if we installed it on the desktop, who knows, but I personally do not notice any speed impediment due the to the VM. My typing speed is usually the bottleneck, not the IDE (and I type pretty fast).
  7. Hi, from July 23 - to August 1. br,
  8. Solved, {$R *.res} was somehow missing from the dpr file :P
  9. Tom Chamberlain

    Using Delphi in Virtual machine for a month

    We have used Delphi in Virtualbox for 10+ years using a separate SSD for the VM makes the biggest improvement and using the extensions help, no AV software in the VM. We keep the source on the host drive with a share to the VM, this lets us upgrade the VM/Delphi faster, source control also lives on the host with the source directories excluded from AV monitoring. We run multiple VM's at the same time, 2012 Server with SQL and our services for a complete isolated (virtual networks) production like environment. No need to ever access the internet from the VM's except for Windows updates. We use i7 laptops with 32GB and multiple SSD/M.2's on docking stations with multiple monitors so the Delphi VM has it's own full screen, the 2012 server is minimized 90% of the day.
  10. Dany Marmur

    Using Delphi in Virtual machine for a month

    Thanks to all that have insights. Pile up your tips and tricks! The benefits of developing in a VM are heavy (esp. for a shop like mine). I feel that my Tokyo VM is *very* sluggish. I suspect DX skinning a lot. A new problem is that sometimes when i press Alt and stop myself (releasing Alt) the IDE misaligns with the VM desktop and both the client and the host starts to refresh the desktop. Argh!
  11. For the same reason I abandoned using VM for Delphi, productivity is the key to me. But benefits described by Dave Novo Dave Novo still stand. And the factors that might affect the performance listed by John Kouraklis definitely worth checking, especially anti-virus software. The real-time protection of any AV software is the major, most significant culprit of performance loss, I think you should use an AV without or allow you to disable real-time protection like me :) IMHO a program don't really need real-time AV protection, you should have the necessary habits to keep you safe from dark side of the Internet.
  12. John Kouraklis

    Using Delphi in Virtual machine for a month

    ...and you need antivirus/firewall in your VM as well...It's high risk unless you do not access the internet at all.
  13. John Kouraklis

    Using Delphi in Virtual machine for a month

    I use Delphi in VMWare for nearly 5 years. In general, I am very happy with the speed but TBH I haven't used it in natural machine. I've got packages, tools, libraries VS, Android Studio all in one machine and I am able to work nicely. From my experience, what matters when you run a VM is the setup of the VM of course but also what is happening in the host computer. Memory: the more allocated to the VM the better but not more than that...there is a point where your host will start crawling and the VM will become sluggish if the host does not have enough memory SSD and avail space: SSD for obvious reasons and AVAIL SPACE...from what I have seen, you need lots of space with VMWare. I mean for a VM that has a 200GB hard drive, you may need 300GB in the host computer and maybe more if you keep auto protect and other snapshots. Even deleting snapshots you need 20-40GB free on your host drive Restating the host computer: I've noticed that many times, VMWare does not clean and release the previously used space to the host computer. You may, for example, have 20GB avail after deleting a snapshot and when you restart the host you get 45GB Antivirus, Windows Update, Microsoft Store and all the other services (eg. svhost) in the host computer. This environment needs to be very pure (and mine is not)...but there are limits even to the level of this kind of purity you can achieve Backup software on host: There was a time when my VMs were getting very very slow without any reason and after months I discovered that there was a backup services running in the background. It was copying the whole VM to the backup disks and this was making the VM unworkable. Later I found out that there is VMWare API for backup and some nice specialised software that allows the VM to work smoothly (eg. the free Vimalin) Netflix: if you have that bad habit to play a documentary in one screen while you are doing some light work in your VM in the second monitor, then you are hurting the performance of the VM. On my laptop, the Netflix app is a performance killer (regardless of the VM). Thankfully, I got rid of that bad habit I have, also, configured windows to use the NVIDIA graphics card with VMWare instead of the integrated graphics. Not really sure whether it makes a real difference though. And, I have completely disabled Windows Store in the VM. Actually, I have damaged the installation and I am sure it will bite me back at some point Don't forget, also, to run CCleaner or something similar quite often in both the host and the VMs
  14. Thanks for the proposal. Yes, revert may reset the libraries, but can I really always trust what it does ? So to use the "clean project" approach is probably only a few clicks more, and from there I can be very sure that it will work the way intended. This is only a small part of the whole project configuration, what about the rest ? I don't really like all these "magic" functions in the IDE project management when it turns out that they might have flaws in the end. For example the inheritance of project options (All --> Debug --> Release) never worked out for me to be stable, so I better check and fumble befor every major option setup, to be sure that not suddenly something bad happend there. Maybe there are better solutions to check and compare, e.g. to use export/import options sets, project configurations or the .dproj files directly, and make all global adjustment in the option sets XML or in the .dproj files directly before re-loading and building. I could think of external tools, like the Settings Migration Tool, Project Magician, or others for help keeping the project clean, is there probably any tool or a combination of several tools, that can help in a nice way ? A kind of .dproj DIFF viewer and editor which is able to sort out related settings might be great utility as well.
  15. A.M. Hoornweg

    64-bit type libraries still not supported by the IDE ?

    Hi David, I'm aware of these workarounds, thanks. But I'm also aware that a 32 bit process *can* actually see the 64 bit registry, see https://docs.microsoft.com/en-us/windows/win32/winprog64/accessing-an-alternate-registry-view . And if that weren't the case, the problem could also be solved by putting the tlb importer GUI in a separate process, to be compiled in two versions. It would just be really nice if this feature worked like it's supposed to.
  16. Schokohase

    Using Delphi in Virtual machine for a month

    I simply exclude my project directories from AV.
  17. Uwe Raabe

    MMX 15 (Beta) Available

    Build 2352 can be used with Delphi 10.3 and 10.3.1 again. If you have Delphi 10.3.2 you need to install the Runtime Packages Compatibility Patch first.
  18. John Kouraklis

    The Embarcadero GetIt server could not be reached...

    Ok, GetIt is back
  19. Markus Kinzler

    The Embarcadero GetIt server could not be reached...

    Seems they totally lost control of the situation. The remaining skeleton crew is hopelessly streched with the challenges. Products must be delivered with reduced extent but are full of bugs. Features are pushed or are dropped. I see no real progress.
  20. Sherlock

    August 2019 Roadmap released

    Compiler optimization Bug fixing Support for current versions of the supported OSes Finished. That is what I expect from 10.3.3. Looks like some of it is being done. So: Bravo. I really don't need new language features, but that's just old unflexible me. Then there's the trend to issue a major release early in a year and getting it fixed by the end of it, only to start the cycle again a couple of weeks later. That is tedious.
  21. Lars Fosdal

    August 2019 Roadmap released

    10.4 has "language improvements". Some of the stuff I'd want to see here - although I expect only the two top ones to actually be candidates... - parameterless record constructors - nullable types - proper record constants that are treated as constants - generic support for nullable types - generic constraint for enumerated types so that you can for a Value:T use Ord(Value), Set of T, Value in Set, etc. - generic constraint for number, so that you can use mathematical operators on a value of T - generic record helpers - TArray<T> / record helper for TArray<T> - helper aggregation/overload/scoping so that one helper does not have to replace another - lambda expressions - ternary operator to shorten those lambdas
  22. FredS

    August 2019 Roadmap released

    "Kick the can" comes to mind..
  23. Ian Branch

    Successful Update to D10.3.2.

    Hi Guys, Just like to throw in a positive note. We seem quick to criticize but slow to recognize. !@#$%^& Yankee spelling.... I just updated from 10.3.1 to 10.3.2 using the web update and had absolutely no issues. Obviously some of the 3rd party libraries had to be updated also but all went smoothly. Regards, Ian
  24. I just want to share this new project. https://gitlab.com/CrossMaker/CrossMonkey The goal is to be able create a native desktop, mobile application and web application with the same user interface and code. For now, it's only in proof of concept state but it can be very easily extended. Anyone interested can participate. Renaud
  25. Remy Lebeau

    VCL component issue

    Note, there are a lot more ComponentPlatforms values available than just those shown above: pidAllPlatforms (new in 10.3.2!) pidWin32 pidWin64 pidOSX32 pidiOSSimulator32/pidiOSSimulator pidAndroid32Arm/pidAndroid pidLinux32 pidiOSDevice32/pidiOSDevice pidLinux64 pidWinNX32 pidWinIoT32 pidiOSDevice64 pidWinARM32/pidWinARM pidOSXNX64/pidOSX64 pidLinux32Arm pidLinux64Arm pidAndroid64Arm/pidAndroid64 pidiOSSimulator64
×