Announcement

Collapse
No announcement yet.

poor FPS Qrack, r_dynamic

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

  • poor FPS Qrack, r_dynamic

    when i turn on r_dynamic i get a massive performance hit, depending
    on where i am looking FPS can drop down to 9. When r_dynamic is off
    FPS is good and stable around 100+ but i cannot see the glow around
    someone that has a powerup like Pent or Quad, so right off it puts me
    at a disadvantage. i have tried several cvars to see if i could somehow
    keep the glow effect without having r_dynamic on but i have no success.

    I remember i had the same problem with JoeQuake. with my old ATI 1900
    still getting the same thing with a new ATI Radeon HD 3850 AGP.

    anyway to trick it into getting back the glow with it off?

  • #2
    i beleave "r_powerupglow 1" is a help because it put a shell around the player/object that has a quad (or is coded to have so it looks cool)

    or was it "r_powerupshell 1"? eather way on the vweapon the sell should be colored, but not on anything else

    i would suggest going to the qrack site to find the real ansure

    Comment


    • #3
      //Lighting Effects
      gl_gamma 0.6 //adjust gamma
      gl_contrast 2 //adjust contrast
      gl_vertexlights 0 //use vertex lighting
      gl_flashblend 0 //use proper lighting in GL (0/1)
      gl_loadlitfiles 0 //use lit files in GL (0/1)
      r_dynamic 1 //use dynamic lighting in GL (0/1)
      r_lightmap 0 //enable light sources on map in GL (0/1)
      r_shadows 0 //enable shadows in GL (0/1)
      r_powerupglow 2 //enable powerup/flag glowing off/colored/white (0/1/2)

      Comment


      • #4
        i tried those Papasmurf but thanks anyways.

        basically i just need the powerup glow effect back without taking a huge
        performance hit from r_dynamic thats generating dynamic lighting and glow
        from all other light sources for example: flames, muzzleflash, explosions, etc.
        apparently my rig cant handle all that other stuff.

        sounds impossible i know but thats what i was asking.

        Comment


        • #5
          r_dynamic is a big performance hit indeed.. fitzquake suffers from the same problem.. and my guess is so does joequake, not glpro however!

          maybe someone can get into the details and explain why?

          Comment


          • #6
            Hmmmm - looking at the QRack source (1.85), I see that he's using my interpolated light animation function, which means that lightstyles will get updated every frame (by default Q1 updates them at 10 FPS), so that's quite a performance hit to begin with. It might be useful to make this toggle-able, just for folks who have slowdowns with it. Moving further out, he's uploading lightmaps in his texture chain drawing function - I've found it more economical on some cards to do a bulk upload of all modified lightmaps before even drawing anything. It's extra texture binds for sure, but it more than balances out.

            Another trick is to stick a few glFlush () calls throughout the code. This keeps the OpenGL command buffer moving along while you're doing CPU work; effectively simulating a separate rendering thread. It won't give much of a speedup in general use (although I did get about 10 extra FPS from it), but it will help prevent (or at least reduce the effect of) the occasional logjam. I generally do a glFlush () after each texture in the texture chains, after each alias model, after each group of 128 or so particles, and so on.

            glFlush after each lightmap upload (remember - uploading in bulk before rendering) helped too, as otherwise you'd have to wait for glTexSubImage to do it's thing and the new lightmap to become available (I might be talking rubbish here, but it seemed like the right thing to do, and it certainly didn't hurt).

            I can't tell right now if his R_AddDynamicLights function has the common bug where a lot of surfaces are marked as dynamic by R_MarkLights but don't actually get their lightmap updated. This can result in quite a few unnecessary lightmap uploads. It looks like his dlight list trick avoids this, so it's probably not the case.

            Overall, the best optimisations come from how you structure your code. Do a batch of GPU work, then flush, then a batch of CPU work, repeat to fade, and everything will keep pumping along smoothly.
            IT LIVES! http://directq.blogspot.com/

            Comment


            • #7
              I've added a cvar to toggle light interpolation, I'll have to dig thru the code for optimizations as more than 80% of the code is passed down from id, quakesource.com, open source projects, etc... it might "work" but it's not a fluid code base by far The only piece of code that really craps out my 8800gt is the rain code < 100 fps at 32768 particles! Ack. well its immediate mode so its better than per pixel lighting in tenebrae jk I'll take your advice and see where things can use a flush.
              www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

              Comment


              • #8
                Originally posted by ungod View Post
                i tried those Papasmurf but thanks anyways.

                basically i just need the powerup glow effect back without taking a huge
                performance hit from r_dynamic thats generating dynamic lighting and glow
                from all other light sources for example: flames, muzzleflash, explosions, etc.
                apparently my rig cant handle all that other stuff.

                sounds impossible i know but thats what i was asking.
                I get little to know performance hit with r_dynamic on. I have a radeon 9800 pro 128mb video card, so i'm not sure what the big difference is.

                Try my entire config file, see if that helps at all.

                Code:
                //Fullbright
                gl_fb_models 1
                gl_fb_bmodels 1
                
                //Textures
                gl_externaltextures_world 0
                gl_externaltextures_bmodels 0
                gl_externaltextures_models 0
                gl_loadq3models 0 
                gl_fb_models 0
                
                //turn off print stats
                scr_printstats 0
                
                //load a sky texture (frozendusk/dmcw/snow2)
                //loadsky frozendusk
                
                //load a character set
                gl_consolefont charset_moon1
                //gl_consolefont original
                gl_smoothfont 1
                
                //FPS/Eyecandy settings
                cl_deadbodyfilter 1		//dead body filter off/on/immediately (0/1/2)
                cl_gibfilter 0			//gibs filter off/on (0/1)
                cl_bobbing 0			//bob rotating models off/on(0/1)
                cl_muzzleflash 1		//turn muzzleflash on for all (0/1/2)
                r_outline 0			//turn outline on bmodels off/on (0/1)
                r_celshading 0			//turn cellshading of bmodels off/on (0/1)
                r_fastsky 0			//turn fast sky texture off/on (0/1)
                r_fastturb 0			//turn fast liquid textures off/on (0/1)
                r_explosionlight 1		//100% explosion light (0-1)
                r_explosionlightcolor 5		//color of explosion light (0/1/2/3/4/5/6)
                r_explosiontype 7		//change explosion type (0/1/2/3/4/5/6/7)
                r_grenadetrail 1		//show grenade trail (0/1)
                r_rocketlight 1			//turn on dynamic ighting of rockets (0-1)
                r_rocketlightcolor 5		//color of rocket light (0/1/2/3/4/5)
                r_rockettrail 3			//rocket trail type (0/1/2/3/4/5/6/7)
                r_wateralpha 1			//allows you to see through water (0-1)
                r_novis 0			//turn on VIS information (0/1)
                gl_caustics 0			//turn underwater caustics off/on (0/1)
                gl_detail 0			//turn artificial bump map texturing off/on (0/1)
                gl_waterfog 0			//turn water fog in GL off/on (0/1)
                gl_waterfog_density 0		//adjust water fog density in GL (0-1)
                gl_foggreen 0			
                gl_fogblue 0
                gl_fogred 0
                gl_fogend 2048
                gl_fogstart 100
                gl_hurtblur 0			//keep these off, they do slow mo effects?
                gl_deathblur 0			//really big FPS hit.
                
                
                //Lighting Effects
                gl_gamma 0.6			//adjust gamma
                gl_contrast 2			//adjust contrast
                gl_vertexlights 0		//use vertex lighting
                gl_flashblend 0			//use proper lighting in GL (0/1)
                gl_loadlitfiles 0		//use lit files in GL (0/1)
                r_dynamic 1			//use dynamic lighting in GL (0/1)
                r_lightmap 0			//enable light sources on map in GL (0/1)
                r_shadows 0			//enable shadows in GL (0/1)
                r_powerupglow 2			//enable powerup/flag glowing off/colored/white (0/1/2)
                
                
                //Screen flash effects
                cl_bonusflash 1			//weapon/item pickup flash (0/1)
                gl_polyblend 1			//pallette shifting on in GL (0/1)
                gl_hwblend 0
                v_contentblend 0.05		//palette shifting while in liquid (0-1)
                v_pentcshift 0.1		//palette shifting with pent (0-1)
                v_quadcshift 0.1		//palette shifting with quad (0-1)
                v_ringcshift 0.04		//palette shifting with ring (0-1)
                v_suitcshift 0.04		//palette shifting with suit (0-1)
                v_damagecshift 0.5		//palette shifting when damaged (0-1)
                
                //Particle Effects
                gl_bounceparticles 0		//turn on bouncing particles in GL (0/1)
                gl_part_lightning 0		//turn on lighting gun particles (0/1)
                gl_part_flames 0		//turn on flames particles (0/1)
                gl_part_lavasplash 0		//turn on lavasplash particles (0/1)
                gl_part_blobs 0			//turn on blobs particles (0/1)
                gl_part_telesplash 0		//turn on teleporter particles in GL (0/1)
                gl_part_blood 0			//turn on blood particle effects (0/1)
                gl_part_gunshots 0		//turn on gunshot particles in GL (0/1)
                gl_part_sparks 0		//turn on sparks particles (0/1)
                gl_part_trails 0		//turn on special rocket trails in GL(0/1)
                gl_part_explosions 0		//turn on special explosions in GL (0/1)
                
                //Video Cettings
                vid_conwidth 320		//set the width resolution of the HUD console
                vid_conheight 200		//set the height resolution of the HUD console
                con_textsize 4			//set font of pulldown console (8=normal,4=half size)
                //vid_refreshrate 85		//needs to be set in command line with -refreshrate 85
                
                //Crosshair Settings
                crosshair 1
                crosshairimage crosshair8
                crosshairsize 1.5
                crosshair_static 1
                crosshaircolor "255 255 255"
                
                //Other Settings
                cl_sbar 0
                scr_sbaralpha 0
                viewsize 100
                pq_moveup 1
                pq_smoothcam 1
                show_fps 1
                show_fps_x 35
                show_fps_y 1
                cl_clock_x 29
                cl_clock_y 0
                cl_maxfps 300
                cl_clock 1
                cl_bob 0
                cl_bobcycle .6
                cl_bobup 0
                cl_rollangle 0
                cl_rollspeed 0
                cl_forwardspeed 500
                cl_backspeed 500
                cl_sidespeed 500
                cl_upspeed 500
                m_pitch -0.022
                m_yaw 0.022
                m_filter 0
                r_drawviewmodel 0
                v_gunkick 0
                v_kickroll 0
                v_kickpitch 0
                v_kicktime 0
                lookstrafe 0
                lookspring 0
                showturtle 1
                scr_conspeed 9999999999999999999999999999999999
                You might want to comment out the video and crosshair settings.

                Comment


                • #9
                  not many maps have lots dynamic lights on them but for the ones that do, r_dynamic 1 is a big fps hit on qrack and fitz.. glpro works just fine.. (try my pegdm6_beta1 map for example)

                  Comment

                  Working...
                  X