microsoft / microsoft/vscode-cpptools
IntelliSense using too much memory and resetting pch
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 6.2k
- Forks
- 1.7k
- Merge moyen
- 14 h 46 min
- PR mergées (30 j)
- 61
Description
Ok, got it.
Your PCH some logic has issues. I have 2 files PawnTank.h and PawnTank.cpp. If in PawnTank.ccp when I do a look up (hover with with left mouse button held down) cpptools.srv goes up as high as 2GB Real Mem then generates a 1.7GB PCH cache file for PawnTank.h. This takes about 50 seconds. If I close PawnTank.cpp, then reopen it, the whole process takes another 60 seconds as PawnTank.h PCH is regenerated unnecessarily yet again.
You're building a huge in memory cache structure, then dumping it when the file is closed. I recommend some sort've memory mapped DB that is local plus better cache invalidation logic.
The UE4 tutorial "Toon Tanks" is here https://gitlab.com/GameDevTV/UnrealCourse/ToonTanks. Install UE4, clone "Toon Tanks", build and step around, you'll see.
I didn't want this to be a career move so I'm going to live with what I've got.
I switched C_Cpp Tag Parser and for the time being, it works like a charm.
Originally posted by @magwa101 in https://github.com/microsoft/vscode-cpptools/issues/7143#issuecomment-796247121
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez le rapport avec le projet UnrealCourse ToonTanks, en vous concentrant sur PawnTank.h et PawnTank.cpp tout en surveillant l’utilisation de la mémoire de cpptools.srv et la régénération du cache PCH. Comparez le comportement lors de la recherche de hover, de la fermeture et de la réouverture de PawnTank.cpp ; le travail est considéré comme terminé si la recherche n’entraîne pas une utilisation excessive de la mémoire ou ne régénère pas inutilement le PCH.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp, unreal-engine
- Domaine
- devtools, performance
- Type d'issue
- Bug
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100