Russian Qt Forum
Май 03, 2024, 23:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как выставить видео карту поумолчанию?  (Прочитано 3845 раз)
8Observer8
Гость
« : Август 07, 2014, 21:39 »

Привет!

Оказывается у ноутбуков Asus X53S две видеокарты. Одна слабая поумолчанию, а другая помощнее.

Вторую можно активировать, если кликнуть по exe файлу правой кнопкой и выбрать: "Запустить с графическим процессором" -> "Высокопроизводительный процессор NVIDIA"

Так вот. Если следующую программку запустить из консоли с картой поумолчанию, то получаю вывод:
Цитировать
Vendor: Intel
Renderer: Intel(R) HD Graphics Family
Version: 3.0.0 - Build 8.15.10.2291
GLSL: 1.30  - Intel Build 8.15.10.2291

Программа:
Код
C++ (Qt)
#include <QGLFormat>
#include <QGLWidget>
#include <QString>
#include <iostream>
#include <QApplication>
 
int main( int argc, char *argv[] )
{
   QApplication app( argc, argv );
 
   QGLFormat format;
   format.setVersion( 4, 3 );
   QGLFormat::setDefaultFormat( format );
 
   QGLWidget w;
   w.makeCurrent();
 
   QString vendor( QLatin1String( reinterpret_cast<const char*>( glGetString( GL_VENDOR ) ) ) );
   std::cout << "Vendor: " << vendor.toStdString() << std::endl;
 
   QString renderer( QLatin1String( reinterpret_cast<const char*>( glGetString( GL_RENDERER ) ) ) );
   std::cout << "Renderer: " << renderer.toStdString() << std::endl;
 
   QString versionOfGL( QLatin1String( reinterpret_cast<const char*>( glGetString( GL_VERSION ) ) ) );
   std::cout << "Version: " << versionOfGL.toStdString() << std::endl;
 
   QString versionGLSL( QLatin1String( reinterpret_cast<const char*>( glGetString( GL_SHADING_LANGUAGE_VERSION ) ) ) );
   std::cout << "GLSL: "<< versionGLSL.toStdString() << std::endl;
 
   return app.exec();
}
 

Если же запускаю со второй картой, то такой вывод:
Цитировать
Vendor: NVIDIA Corporation
Renderer: GeForce GT 540M/PCI/SSE2
Version: 4.1.0
GLSL: 4.10 NVIDIA via Cg compiler

Как видите, в первом случае версия OpenGL - 3.0.0, а во втором - 4.1.0. Как сделать так, чтобы Qt запускал приложения со вторым вариантов?

Заранее спасибо за ответ!
« Последнее редактирование: Август 07, 2014, 21:49 от 8Observer8 » Записан
mitrich
Гость
« Ответ #1 : Август 07, 2014, 23:39 »

Средствами Qt - никак. Переключение видеоадаптеров - функциональность, специфическая для системы.
P.S. Наверняка на этом ноуте есть конфигурационная утилита, в которой можно включить НВидиевскую видеокарту на постоянной основе. Ну, или в биосе на худой конец.
Записан
8Observer8
Гость
« Ответ #2 : Август 08, 2014, 07:33 »

Опишу шаги. Кликнул по exe правой кнопкой и выбрал: "Run with graphics processor" -> "Change default graphics processor"



Появилось диалоговое окно, в котором я нажал "Add" и выбрал "qtcreator.exe". В выпадающем списке ниже я выбрал: High-performence NVIDIA processor. Нажал "Apply"



Запускаю приложение из Qt Creator из первого сообщения. Всё равно выдаётся описание первой карты:
Цитировать
Vendor: Intel
Renderer: Intel(R) HD Graphics Family
Version: 3.0.0 - Build 8.15.10.2291
GLSL: 1.30  - Intel Build 8.15.10.2291
« Последнее редактирование: Август 08, 2014, 07:38 от 8Observer8 » Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #3 : Август 08, 2014, 10:17 »

Почему вместо своего приложения ты выбираешь qtcreator? Где логика
Записан

Гугль в помощь
8Observer8
Гость
« Ответ #4 : Август 08, 2014, 10:18 »

Я хочу, чтобы при нажатии кнопки "Run" моё приложение запускалось со второй картой
Записан
8Observer8
Гость
« Ответ #5 : Август 08, 2014, 10:40 »

Спасибо! Всё, разобрался. Выбрал вместо qtcreator.exe exe'шник программы. Запускается из под Qt Creator и выдаёт то, что надо:

Цитировать
Vendor: NVIDIA Corporation
Renderer: GeForce GT 540M/PCI/SSE2
Version: 4.1.0
GLSL: 4.10 NVIDIA via Cg compiler
Записан
8Observer8
Гость
« Ответ #6 : Август 08, 2014, 13:13 »

Обновил дравера для своего Asus X53S отсюда: http://www.nvidia.ru/download/driverResults.aspx/77333/ru

Теперь выдаёт:
Цитировать
Vendor: NVIDIA Corporation
Renderer: GeForce GT 540M/PCIe/SSE2
Version: 4.3.0
GLSL: 4.30 NVIDIA via Cg compiler
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.083 секунд. Запросов: 23.