2015-05-04 10 views
5

Mam notebook ze zintegrowanymi kartami graficznymi Intel i NVIDIA i chcę uruchomić mój program (napisany w C# z .NET) debugowanie w Visual Studio 2013 Community Edition na karcie NVIDIA, ponieważ mój program intensywnie współpracuje z kartami OpenGL i Intel nieobsługiwanymi najnowsze funkcje OpenGL. Ale domyślnie ustawienia działają na karcie Intel.Jakieś sposoby uruchomienia debugowania programu w Visual Studio na karcie graficznej NVIDIA?

Próbowałem zmienić domyślną kartę graficzną dla mojego programu w ustawieniach NVIDIA, ale wygląda na to, że po ponownym kompilowaniu ustawień programu są resetowane.

Czy są zatem jakieś inne proste sposoby na uruchomienie programu na karcie graficznej NVIDIA? Może są specjalne parametry wiersza poleceń lub coś w tym stylu?

Odpowiedz

5

Najprostszym sposobem jest po prostu dodać ten kawałek kodu gdzieś w programie:

extern "C" { 
    _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001; 
} 

Aby uzyskać więcej informacji, zajrzyj tutaj: http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf

+1

Ale mój program napisany w .NET, więc nie mogę eksportować zmiennych. Przynajmniej bez hakowania skompilowanego zestawu. – Omich

+0

Innym rozwiązaniem może być ustawienie domyślnej karty graficznej na nvidia w panelu sterowania nvidia. Ale prawdopodobnie istnieje trik do eksportu tej zmiennej w .Net. – Jerem

1

Najprostsza jest prawdopodobnie skompilować program w .NET DLL i wywołaj swoją funkcję Main z pliku wykonywalnego napisanego w C++/CLI, który eksportuje zmienną NvOptimusEnablement, o czym wspomniał Jerem w drugiej odpowiedzi.

+0

Co powiesz na połączenie biblioteki DLL napisanej w języku C++, która eksportuje tę zmienną. Czy to działa? – Jerem

+0

@Jerem: Myślałem o tym, ale nie jestem pewien, czy to zadziała. – Mehrdad

Powiązane problemy