Я заметил, что приложение OpenGL, над которым я работал, имеет существенную разницу в производительности при запуске в Linux против WindowsXP.
Конечно, есть много текстур и теневых буферов, но я предполагаю, что приложение работает примерно в 10 раз медленнее в Windows XP.
Есть идеи?
Есть предложения по переносу кода в DirectX? Можно ли это сделать легко или потребуется переписать?
Запуск различного оборудования. У меня нет спецификаций для Linux-бокса, но мой xp-бокс - Intel Duo Core 2 с Nvidia Quadro FX 1500. Линейная видеокарта Linux была своего рода Nvidia Geforece (это был университетский компьютер).
Некоторый код инициации:
FlyWindow::FlyWindow() :
GlowWindow("fly", 300, 100, // GlowWindow::autoPosition, GlowWindow::autoPosition,
700, 500,
Glow::rgbBuffer | Glow::doubleBuffer |
Glow::depthBuffer | Glow::multisampleBuffer,
Glow::keyboardEvents | Glow::mouseEvents | Glow::dragEvents |
/*Glow::menuEvents | */ Glow::motionEvents | Glow::visibilityEvents |
Glow::focusEvents /* set ::glutEntryFunc */ ),
W(700), H(500),
flock(10),
lastSeconds(myclock.getSecondsSinceStart())
{
myfps = FPScounter();
GLdraw<float>::initGL(W,H);
// Add a bouncing checkerboard
MovingCB = Point3d<double>(50, 2, 50);
Glow::RegisterIdle(this);
bDebug = false;
m_bLookAtCentroid = true;
m_bLookAtGoal = false;
}
Спасибо