windows - Hvorfor aktiveres der en fejlsøgning, gør accelererede videokontekst langsomt?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har bemærket, at når jeg starter et program, der opstiller et par forskellige rammer med OpenGL-kontekster, åbner det næsten øjeblikkeligt normalt, men kontekstopsætningen ser ud til at tage cirka et sekund pr. Ramme, hvis jeg kører det under en debugger. se samme effekt i både Delphi debugger og Visual Studio debugger, så det ser ud til at være et generelt problem og ikke specifikt for en IDE. Jeg har også hørt rapporter om lignende afmatninger, når det accelererede videosystem er D3D-baseret, hvilket fører til mig at tro, at det ikke er specifikt for OpenGL.


Er der nogen der ved, hvorfor at have en debugger knyttet generelt forårsager accelererede videokontekster generelt at initialisere meget langsomt?

Bedste reference


Når der køres under debuggeren, bruges en særlig debug-version af bunken. Det kan være, hvad der sænker dit program ned. Flere detaljer her, herunder instruktioner om, hvordan du deaktiverer den. http://msdn.microsoft.com/en-us/library/ff538841(v=VS.85).aspx[1]

Andre referencer 1


Startes det kun langsomt eller også langsomt?


Jeg kan billedet det kan både indlæse en debug-version af openGL eller DirectX-driveren med flere debug-kroge, hvilket vil tage længere tid.


Og det kan også køre flere dele i en software driver i stedet for hardware - det er vanskeligt for en regelmæssig debugger at se, hvad der sker inden for en hardware accelereret funktion indbygget i en grafikchip!

Andre referencer 2


Jeg har lidt problemer med at forstå spørgsmålet, hvad betyder du med 'kontekstopsætning', når vi taler OpenGL/DirectX? Hvilke specifikke opkald i koden ser ud til at være langsommere, når de kører under en debugger? Kan det være, at 'kontekstopsætning' indebærer indlæsning af flere DLL'er , som overvåges og sænkes meget ved at bruge en debugger, især med nyere Delphi IDE 's?


Til posten tror jeg ikke, jeg nogensinde har oplevet dit problem i nogen af ​​mine OpenGL (Delphi 7 og tidligere) eller Direct3D (Delphi 2009 og over) projekter.