2013-07-21 28 views
0

我有這個奇怪的問題,其中SFML的sf::VideoMode::getFullscreenModes()方法,它應該只返回有效的視頻模式,實際上只返回無效的視頻模式。SFML只列出無效VideoModes在調試模式下

當我改變我的啓動配置以釋放它工作正常。

#include <SFML/Window.hpp> 
#include <iostream> 
int main(int argCount, char** argVector) { 
    std::vector<sf::VideoMode> videoModes; 
    videoModes = sf::VideoMode::getFullscreenModes(); 
    sf::VideoMode videoMode; 

for(unsigned i = 0; i < videoModes.size(); i++) { 
    if(videoModes[i].isValid()) 
     std::cout << "Vanlid VideoMode: " << i << " - " << videoModes[i].width << "x" << videoModes[i].height << " b" << videoModes[i].bitsPerPixel << std::endl; 
    else 
     std::cout << "Invalid VideoMode: " << i << " - " << videoModes[i].width << "x" << videoModes[i].height << " b" << videoModes[i].bitsPerPixel << std::endl; 
} 
    char input[1]; 
    std::cin >> input; 
    return 0; 
} 

控制檯輸出:
無效:視頻模式:0 - 3131961357x3131961357 b3131961357
無效:視頻模式:1 - 3131961357x3131961357 b3131961357
無效:視頻模式:2 - 3131961357x3131961357 b3131961357
無效:視頻模式:3 - 3131961357x3131961357 b3131961357

+0

代碼本身是好的,對我來說,輸出18種有效的視頻模式。你有什麼圖形卡?你有最新的驅動程序嗎? – ctor

+0

無關,它在發佈模式下工作。 –

+0

我不會說它在兩種模式下都適用於使用相同版本的Visual Studio時完全不相關。 – ctor

回答