Por que o FlightGear não está usando mais poder de computação?

1

Eu recentemente baixei o FlightGear como me senti como jogar um jogo de simulação de vôo. Estou usando o Windows 10 e estou com problemas de framerate.

O jogo nunca ultrapassa 25 fps e às vezes tem 80ms de atraso de quadro, mas, como você pode ver na imagem a seguir que descreve meu uso de CPU, GPU e memória (são dados do Hacker de Processos, por isso estou bastante confiante), ainda tenho mais de 5GB de RAM disponível e o uso de CPU / GPU dificilmente ultrapassa 20% ...

Alémdisso,meuPCrodamuitobemtodososjogosrecentesa60fps,sendoequipadocomumIntelCoreI73770KeumaagradávelNvidiaGTX780TI,com16GBdeRAM.Meusdriversdevídeo(ebasicamentetodososdrivers)estãoatualizados.

Euadmitoqueeumaximizeitodasasconfiguraçõesquepudenosimulador,voupostarumlinkemumcomentárioondevocêpodebaixaromeuarquivopreferences.xml(naverdadeeuestoulimitadoporrep).Asúnicasmudançasqueeufizmanualmenteépermitirmultithreading(descomentandoumalinha,eissonãoafetouperformances),tudoomaisfoimaximizadonojogoemsi.Tambémverifiqueinovamentequenãolimiteioframerateparaalgomenorque60FPS,minhataxadequadrosnatela.

Porqueojogonãoestáusandomaispoderdecomputaçãoparaterumaexperiênciadejogotranquila,poismeucomputadorétotalmentecapazdefazerisso?

Eutambémverifiqueiaminhaplacagráficaésuportadopelojogo,e,bem,é:Estáescrito"NVIDIA Corporation GeForce GTX 780 TI / PCIe / SSE2" na guia "Ajuda", e não é mencionado no " Páginas de vídeo problemáticas "página do wiki do jogo. Como estou rodando o jogo no windows, não é possível compilar para usar o profiler embutido que usa o google perf tools, infelizmente: - (

Deixe-me saber se posso fornecer mais informações para corrigir esse problema. Isso pode ajudar muitas pessoas a encontrar o mesmo problema. Obrigado.

Segunda tela mostrando as estatísticas detalhadas do OSG

    
por Magix 18.01.2016 / 22:37

1 resposta

0

Se parecer que o FlightGear não está usando todos os recursos, provavelmente é devido a um desequilíbrio entre a CPU e a GPU. Certas operações podem se tornar limitadas pela CPU e outras limitadas pela GPU.

Na captura de tela, a primeira observação é que o monitoramento interno do processo está ativo; isso terá um efeito significativo na taxa de quadros.

A GUI no FlightGear é construída usando o PUI - o que afetará a taxa de quadros quando você tiver diálogos em exibição; especialmente diálogos que são atualizados com frequência, já que o PUI não é tão eficiente. Há um entendimento de que o PUI precisa ser substituído, mas ainda não acho que alguém esteja trabalhando nisso.

Use Debug - > Ciclo nas estatísticas da tela para ativar o contador de taxa de quadros OpenSceneGraph. Talvez seja necessário usar a tecla F10 para ocultar a barra de menus para que fique visível, conforme exibido no canto superior esquerdo. Isso é muito mais eficiente do que o monitor baseado em PUI no screneshot.

Existem 3 mecanismos de renderização no FlightGear; básico, ALS e Rembrendt.

Acho que o ALS (Dispersão de Luz Atmosférica das Opções de Renderização View- >) proporcionará o melhor equilíbrio entre uma cena bonita e uma taxa de quadros razoável.

Se você tiver o controle deslizante de vegetação aleatória definido no máximo, isso provavelmente resultará em muita geometria para renderizar. Então, fique com valores de cerca de 3,5 para isso e gradualmente ajuste isso para cima até que haja um equilíbrio entre as árvores e uma boa taxa de quadros.

Se você estiver usando o Rembrandt (renderização adiada que ainda é oficialmente experimental), você terá a iluminação emissiva e a opção de sombras, florescerá ao redor dos pontos de luz, mas isso requer múltiplas passagens pela geometria e será mais lento que o ALS. mas o modelo de luz solar é bastante simplista e o ALS é geralmente melhor OMI.

Além disso, você obtém nuvens melhores usando o tempo detalhado que precisa ser ativado todas as vezes.

Embora possa parecer atraente simplesmente maximizar todos os controles porque você tem um sistema de ponta - com todo o respeito, não é exatamente por isso que eles estão lá. Os controles deslizantes estão lá para permitir o ajuste das opções de renderização disponíveis para obter um equilíbrio entre taxa de quadros e recursos.

Além disso, o 3.6RC e a próxima versão 3.8 ou 2016 reduziram o uso de memória, o que resulta em melhor desempenho.

É uma pena que o 3.6 não tenha sido lançado em agosto (devido à falta de mão de obra), já que é uma melhoria, especialmente com os efeitos de cabine de comando e vidro da ALS.

A compilação noturna atual pode ser estável; Vale a pena baixá-los e testá-los até conseguir um que seja bom. Se não for bom, vale a pena tentar o 3.6RC .

Assim, muitas vezes, em primeiro lugar, descobrir qual é o gargalo (CPU / GPU) e ajustar em conformidade. O OSG nas estatísticas da tela pode ser útil para diagnosticar isso junto com as ferramentas de monitoramento do sistema para entender o uso da GPU e da CPU.

O FlightGear atualmente aproveita alguns dos sistemas com vários núcleos; o trabalho está em andamento para melhorar isso - mas isso não vai resolver o caso em que um único núcleo está maximizado alimentando a GPU; ou quando a GPU está maximizada com a geometria, como praticamente acontece com o OpenGL, há muito que pode ser obtido com multithreading.

Se você olhar a foto abaixo, você pode ver que as barras ciano estão acontecendo ao mesmo tempo. Isso é multithreading OSG. O FlightGear (com renderização não adiada) usa duas câmeras (próximo e distante) - portanto, há um benefício do multithread do OSG. No entanto, você também notará que minha taxa de quadros (i7 2600, R9 290) é de apenas 30 algo.

Aosentar-senoKLSVnocockpitcomconfiguraçõesderenderizaçãorazoáveis,estouem30a35FPS.Seeuolharparaocéu(ondehámuitomenosgeometria),recebo80FPS.

Referindo-seasuacapturadeteladasestatísticasdetalhadas;osdoisseparadoresparalelosnosdizemqueoOSGémultithreading;masostemposdaGPUsãobastantelongos,mesmocom104milhõesdevértices.EntãoparecequeaGPUestásegurandoascoisas-oquepareceestranhoemsuascartas.TalvezverifiqueasconfiguraçõesdaNVidiaegarantaquetodosestejamsensatos.

Em lugares onde há alta densidade de paisagem, a vegetação aleatória adicionará considerável carga extra; mas mesmo assim uma combinação decente de CPU / GPU deve ser capaz de lidar com 3.5.

Tente outros aeroportos; há o mundo inteiro para visitar. ZUBD é muito divertido.

    
por 19.01.2016 / 00:11