+ Responder Tópico
  1. #1
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Aug 2004
    Mensagens
    10
    Verdinhas
    0

    Como melhorar em muito a performance em placas ATI

    Pena q eu nao sabia disso antes do champ =(
    Na minha radeon 9800 pro 128 ele fica cravado 60 fps em high quality 800x600 SP.

    link: http://www.megagames.com/news/html/p...iencept2.shtml

    Enhance the ATI Experience


    It is, of course, a well known fact that Doom 3 is a game which performs best when using boards by nVidia. This has left ATI fans frustrated and eager for a driver update or some other fix. Since ATI has not yet responded, a way of improving the way Doom 3 handles on ATI cards has been posted on the Beyond3D forums. According to the author, the performance increase can increase frame rate from 34fps in 1280x1024 to 48fps. Changes would, of course, depend on each individual set-up. A further suggestion from the forum is that the fix really kicks-in if vsync is enabled. Please feel free to post your experience with the fix on the MegaGames Forums.

    The fix involves changing some code which can be found in the Doom 3 pak000.pk4 file. For those not interested in the technical side of the fix, an already changed file is available by following the download tab above. Extract so that the shader file goes under doom3\base\glprogs. This replaces a dependent texture read with equivalent math, which runs better on ATI cards, but seems to run slower on NV boards, so only apply this if you got an ATI card.

    ...this should be good enough proof that ATI hardware can run Doom3 just as good if not better than nVidia, and that we can pass on all the "ATI suck in OpenGL", "ATI's drivers suck" etc. into the trashcan where it belongs.

    The full, do-it-yourself, fix is as follows:

    I picked up Doom3 today and let be begin by saying it's a kickass game so far. A few minuses like weapon reload (which I find add nothing to a game, except annoyance, so I don't know why many devs keep adding it to their games), but overall much above my expectations.

    Anyway, to the fun part, exploring the technology.
    I think I've found the source of why this game runs comparably slow on ATI hardware vs. nVidia at the moment, and found a solution to the problem.

    First, open your doom3\base folder. Doubleclick on the pak000.pk4 file. In the "window can't open this file .. .bla bla" dialog, go on and associate the file with an app like WinRar. With this file open in WinRar, go to the glprogs directory in the file. In there you'll find the shaders. The interaction.vfp file seems to be the main rendering shader. Altering this shader to output a constant color turns most objects into that constant color, except for stuff like computer screens etc.

    So doubleclick the interaction.vfp file to open it (you may have to associate the .vfp extension with a text editor like notepad or wordpad first since we're going to edit the file). Scroll down to the fragment shader. You'll find these rows:

    Code:

    PARAM subOne = { -1, -1, -1, -1 };
    PARAM scaleTwo = { 2, 2, 2, 2 };


    Add this right below them:

    Code:

    PARAM specExp = { 16, 0, 0, 0 };


    Now scroll down to this:

    Code:

    # perform a dependent table read for the specular falloff
    TEX R1, specular, texture[6], 2D;


    Comment out that line by adding a "#" to it, and add another line that will do the same thing with math instead, so it should look like this:

    Code:

    # perform a dependent table read for the specular falloff
    # TEX R1, specular, texture[6], 2D;
    POW R1, specular.x, specExp.x;


    Save the file and close your text editor. WinRar will ask if you want to update the file in the archive, select yes. Close WinRar and enjoy about 40% higher performance in Doom3. Haven't done extensive testing yet, but my performance went from 34fps in 1280x1024 to 48fps.

    Conclusion and discussion:
    I don't want to complain about Carmack's work, I still consider him to be the industry leader in graphics engines. Though when I read the shader it striked me how many texture accesses it did compared to the relatively short shader, even for stuff that could just as well be done with math for a small cost in instructions. Using a dependent texture lookup for POW evaluation makes a lot of sense for R200 level hardware due to instruction set limits, but for R300 and up it's much better to just spend the three cycles it takes to evaluate POW with math instead of risking texture cache trashing with a dependent texture read, which may be much more costly, especially since the access pattern in this case will be far from linear. Also, using math improves the quality too, even though it may not be very noticable in this game.

    I should point out though that I'm not sure if the constant specular factor 16 that I chose is the one that the game uses, so output may be slightly different, but if this solution will be worked into the game in a future patch, then this is easily configurable by the game so that there won't be a difference, except a lot faster.

    An interesting follow-up discussion may be why this dependent texture lookup is much slower on our hardware than on nVidia. Maybe there's an architectural difference that's to blame, or maybe something else? The main point here though is that this should be good enough proof that ATI hardware can run Doom3 just as good if not better than nVidia, and that we can pass on all the "ATI suck in OpenGL", "ATI's drivers suck" etc. into the trashcan where it belongs.

  2. # Publicidade
    Publicidade

  3. #2
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jul 2000
    Mensagens
    1.756
    Verdinhas
    1

    Cara isso já foi comentado aqui no forum pelo menos 908069856079856079 de vezes, trata-se do humus tweak e basta baixar um arquivo para obter este resultado, inclusive as alterações já são outras, isto aí já está bem ultrapassado...

    Por favor fechem o tópico pra não confundir o pessoal...

  4. #3
    Membro Avatar de Gargula
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jul 2004
    Mensagens
    1.760
    Verdinhas
    0

    coloquei 768 de ram.... melhorou muito aqui... so isso. fazendo isso eu consegui.
    []'s

  5. #4
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jan 2002
    Mensagens
    22.949
    Verdinhas
    345

    http://forum.hardmob.uol.com.br/show...hreadid=316533

    Fora o post do Hellraiser há 50905390395 anos atrás...

    Nesse thread ae tem um link pro tweak mais recente, upei num host pro pessoal da hm, pega logo que eu vou deletar já já.

+ Responder Tópico Ir para o Fórum

Assuntos do tópico

Compartilhar

Permissões