Announcement

Collapse
No announcement yet.

Explanations for perceived performance VS reported frame rates with various gfx cards

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Explanations for perceived performance VS reported frame rates with various gfx cards

    First thing: I do not want to incite any flaming.

    I've been playing UT with an AIW Radeon lately, and I have noticed that there is in fact a large dicrepency between perceived smoothness and mid-range frame rates (~40ish fps) in comparison to my G400. (my G400 marvel averages high 50s, but remains fluid from the high 20s up, while my radeon system will become annoyingly choppy at anything below the mid 40s). To me, this lays credit to arguments I've read from various people (such as the stereotypically branded nvidiot) about *unplayable* performance below "X"# of fps, but also credit to the arguments from others (such as the sereotypically branded M-fanboy) about "Y"# of fps being certainly fine (eg. old geforce users arguing with matrox BBs about "those frame rates = slideshow" vs "but still more fluid than your higher fps count")

    This discrepancy is something I've seen mentioned here several times, but never with any plausible explanation as to why. I'm simply curious as to any technical substantiation supporting this scenario. Is the situation dependent on manufacturer bus latencies, memory dependent, gpu architecture dependent, etc...?

    Does anyone have any theories/factual information (not physiological lectures about conal & synaptic response times in the eye and brain to explain why "x"fps is overkill, but rather reasons why "X"fps on one card does not seem as fluid as the same on another )

    Wombat? Doc? anyone?

    PS: sorry for the annoying verbosity of my post, but I'm back in school for engineering, not that english composition mumbo jumbo
    Yes I drive a 13yr old Volkswagen; Yes I'm a dirt poor college student; Yes every tank of gas is more $$ than the value of my car, but it is FUN to drive, so I don't care about your ego or how much your car cost, if you insist on going the exact same speed in the passing lane as the car next to you for 10 minutes, stop being a self righteous ass, move the hell over and just let me by!!!

  • #2
    What you may be experiencing is a "stuttering" effect due to drivers, texture trashing, cache design on the GPU, the phase of the moon, you name it

    Even a framerate counter only averages the frames you got on one second (Duh!)... like if you have 50 fps and each one is rendered on 20 ms (a perfect sustained framerate that is almost impossible to achieve) you have a silk smooth perception of the movement. If you have the same 50 fps on the counter but let´s say, some frames are rendered on 2 ms and others on 100 ms you WILL get the feeling that´s not smooth no matter what fps you see.

    So the feeling you´re reporting (and yes, it tends to be trashed by nVidiots) may actually be very true.

    One card that I had (still do on the other PC), the KyroII, despite not being able to do sky-rocketing framerates, "felt" very, very smooth on many ocasions despite having only low-30´s fps.

    Of course one way to overcome the problem is the brute-force aproach, if the hardware can render like 200 frames on a second, there can´t be much pauses between them...

    Comment


    • #3
      I think we should start to use "highest number of milliseconds between frames" instead of "average frames per seconds", when measuring performance.
      I really think this will solve the mystery.
      My theory, is that on some cards the frames come in short bursts, while on other cards, they come in a continous stream.

      think about it: card A gives 100 fps, but it gives 1 frame for 1/2 second and a burst of 99 frames for the other half of the second.
      card B on the other hand delivers 50 fps, but in a continous stream, with a steady 20 milliseconds between each frame.
      the result: card A has the highest framerate, but card B delievers a more fluid and smooth animation, which is more suited for gameplay in realtime 3d-games.

      edit: nuno beat me, I type too slowly.
      Last edited by TdB; 29 July 2002, 14:31.
      This sig is a shameless atempt to make my post look bigger.

      Comment


      • #4
        I am not implying anything with this reply (maybe a little), but is it possible to program the drivers to specifically render a scene once, then display it for two or more frames within, lets say, the half second from the previous example and then render the next frame for then next second? Would that be percieved as the same problem mentioned earlier, and lead to unrealistically high frame rates?

        And I do notice the same problem between my G400Max and my Radeon 8500, in a game like Warcraft III, the Max was slow, but smooth, and the Radeon is fast and not quite as smooth. But my eyes hurt on the Radeon.

        I think I'm babbling...
        P=I^2*R
        Antec SX1240|Asus A7V333WR|Athlon XP2200 1.80Ghz|512 MB PC2700|TDK VeloCD 24-10-40b|Samsung 16x DVD|SBAudigy2|ATI Radeon 8500 128MB|WinTV Theater|15/20/60GB Maxtor|3x 100GB WD100JB RAID0 on Promise Fastrak Lite|WinXP-Pro|Samsung SyncMaster 181T and 700p+|Watercooled

        IBM Thinkpad T22|900Mhz|256MB|32GB|14.1TFT|Gentoo

        Comment


        • #5
          Originally posted by PowerHungry
          I am not implying anything with this reply (maybe a little), but is it possible to program the drivers to specifically render a scene once, then display it for two or more frames within, lets say, the half second from the previous example and then render the next frame for then next second? Would that be percieved as the same problem mentioned earlier, and lead to unrealistically high frame rates?

          you mean showing the same frame multible times, instead of rendering a new frame, but tell the game that the frame has been updated anyway?

          yes, I believe that is possible, you could probably make some trivial tricks with the framebuffer to archive this, but it would be very stupid, unless you want to decieve people into thinking they had very high framerates.

          I don´t really think that is the case, in these framerate-focused times, the scandal would devastate the companys reputation, if it was revealed.

          I don´t believe it would be worth the risk, atleast not for those companies that has something to loose, a damaged reputation is very hard to restore.

          but it would explain why some people have stuttering even with high framerates.
          Last edited by TdB; 29 July 2002, 18:18.
          This sig is a shameless atempt to make my post look bigger.

          Comment


          • #6
            And I thought I could topple NVidia

            As a further thought, could the drivers detect which frames will not change as much, and then render the scene once and display it for the similar scenes?

            I understand the whole company crashing and burning because of a scandal like this, but is it technically possible and are there any advantages to doing this 'trickery', assuming it is well documented?
            P=I^2*R
            Antec SX1240|Asus A7V333WR|Athlon XP2200 1.80Ghz|512 MB PC2700|TDK VeloCD 24-10-40b|Samsung 16x DVD|SBAudigy2|ATI Radeon 8500 128MB|WinTV Theater|15/20/60GB Maxtor|3x 100GB WD100JB RAID0 on Promise Fastrak Lite|WinXP-Pro|Samsung SyncMaster 181T and 700p+|Watercooled

            IBM Thinkpad T22|900Mhz|256MB|32GB|14.1TFT|Gentoo

            Comment


            • #7
              detecting similarities in different frames would probably be too timeconsuming(I have heard that it can be done though, a deferred render was supposed to work this way, reusing parts of the previous frames, I don´t think it ever got off the drawing board), if the point was to cheat with the framerate, but if the framerate is high enough to beging with, then it is quite certain there will be similarities between them(most games have continous movement, and if you get 200 fps to begin with, then the difference between a frame and its successor, will be very small), and if your refreshrate isn´t insanely high, then it won´t be noticed anyway.

              I think a way to do this would be, for each frame you want to "cheat" with, to let the pointer that points to the frame in backbuffer and let it point to the frame in the frontbuffer instead, that way, you can still render the following frame in the backbuffer, for the next "real" screen update, but the frame will be a frame late, hence the stuttering.

              the advantage to this "trickery", would be, that the frameratecounter (and benchmarks) would skyrocket, without actually rendering that many frames, it will give stuttering and not a very "smooth" experience, but if the actual framerate to begin with is high relative to the refreshrate, then it "might" not be noticable. It would, of course, be cheating.

              the problem is, when the framerate isn´t that high to begin with.
              Last edited by TdB; 29 July 2002, 19:25.
              This sig is a shameless atempt to make my post look bigger.

              Comment


              • #8
                Also a defective memory controller design can cause issues like this... think driver have to be highly patched to get around the issue thus unintentional, but impossible to get around delays induced.
                "Be who you are and say what you feel, because those who mind don't matter, and those who matter don't mind." -- Dr. Seuss

                "Always do good. It will gratify some and astonish the rest." ~Mark Twain

                Comment


                • #9
                  that is probably a more likely cause, I don´t really believe in these conspiracy theories.
                  This sig is a shameless atempt to make my post look bigger.

                  Comment


                  • #10
                    But they're all out to get me!
                    P=I^2*R
                    Antec SX1240|Asus A7V333WR|Athlon XP2200 1.80Ghz|512 MB PC2700|TDK VeloCD 24-10-40b|Samsung 16x DVD|SBAudigy2|ATI Radeon 8500 128MB|WinTV Theater|15/20/60GB Maxtor|3x 100GB WD100JB RAID0 on Promise Fastrak Lite|WinXP-Pro|Samsung SyncMaster 181T and 700p+|Watercooled

                    IBM Thinkpad T22|900Mhz|256MB|32GB|14.1TFT|Gentoo

                    Comment


                    • #11
                      Originally posted by PowerHungry
                      But they're all out to get me!
                      ARRGH! He found out! Get him, before he warns everybody!
                      This sig is a shameless atempt to make my post look bigger.

                      Comment

                      Working...
                      X