Original Post
I'll start by listing my computer specs:
Intel Core2 Quad Q8300 2.5GHz
8gb DDR 3
Win 7 x64 Ultimate
2x Geforce 9600 GT (not in SLI mode, have 2 monitors (1920x1200, 1440x900) and 1 projector (1980x1080))
I am currently using jRuby with LWJGL. Default GC and no options, just "jruby script.rb"
I've calculated my maximum frame rate for a 1600x900 window (which is the window size for my program at the moment) based on my gfx card max fill rate to 7222.22222 (card fill rate is 10.4gps).
I am currently seeing a frame rate of ~640 when rendering roughly 2000 triangles on the screen (Skybox + GUI) using 2 VBOs (yes I know I should combine them into one).
When nothing is drawing and I only do a Display.update call within the loop, i get ~915fps
Without Display.update in the loop and just counting the number of cycles, i get ~330,000fps
Blending is on (blend function is src alpha, 1 - src alpha)
Shade model is smooth
cull face is enabled and removes front faces
Depth test is on and buffer cleared every frame (depth function is LEQUAL)
Color bit is never cleared due to the use of the skybox and gave me a very nice increase in performance
Average time for the VBO drawing functions 0.00024
Average time for the Display.update call 0.00126
Average main loop time is 0.00157 seconds
Double buffering is on (LWJGL does not allow you to turn it off)
Vsync is disabled (by application and video card)
My questions are:
1. What is the cost (if any) of 1d(invisible) triangles used to connect any number of triangle strips into 1 contiguous triangle strip
I currently have 4 1d(invisible) triangles per strip added
2. While VBOs rendered by index may be more space efficient, are they faster/slower/equal?
3. Display.update (which swaps the buffers and grabs system messages) runs at an average of 0.00157 seconds. Is there anyway I can speed this up?
there is no difference worth mentioning with Display.swapBuffers that does not grab system messages
4. Would it be wise to combine all of my GUI textures into 1 large texture to avoid a lot of texture binding during the GUI VBO drawing stage?
5. Are textures no longer subject to power of 2 limitations?
I render the GUI in an FBO and use the texture created, but when I created the texture I used 1600x900 for the dimensions (non power of 2) and it did it with no trouble. I was under the impression you have to use special calls to use non-power of 2.
More questions may follow, and thank you in advance for taking the time to answer.
Intel Core2 Quad Q8300 2.5GHz
8gb DDR 3
Win 7 x64 Ultimate
2x Geforce 9600 GT (not in SLI mode, have 2 monitors (1920x1200, 1440x900) and 1 projector (1980x1080))
I am currently using jRuby with LWJGL. Default GC and no options, just "jruby script.rb"
I've calculated my maximum frame rate for a 1600x900 window (which is the window size for my program at the moment) based on my gfx card max fill rate to 7222.22222 (card fill rate is 10.4gps).
I am currently seeing a frame rate of ~640 when rendering roughly 2000 triangles on the screen (Skybox + GUI) using 2 VBOs (yes I know I should combine them into one).
When nothing is drawing and I only do a Display.update call within the loop, i get ~915fps
Without Display.update in the loop and just counting the number of cycles, i get ~330,000fps
Blending is on (blend function is src alpha, 1 - src alpha)
Shade model is smooth
cull face is enabled and removes front faces
Depth test is on and buffer cleared every frame (depth function is LEQUAL)
Color bit is never cleared due to the use of the skybox and gave me a very nice increase in performance
Average time for the VBO drawing functions 0.00024
Average time for the Display.update call 0.00126
Average main loop time is 0.00157 seconds
Double buffering is on (LWJGL does not allow you to turn it off)
Vsync is disabled (by application and video card)
My questions are:
1. What is the cost (if any) of 1d(invisible) triangles used to connect any number of triangle strips into 1 contiguous triangle strip
I currently have 4 1d(invisible) triangles per strip added
2. While VBOs rendered by index may be more space efficient, are they faster/slower/equal?
3. Display.update (which swaps the buffers and grabs system messages) runs at an average of 0.00157 seconds. Is there anyway I can speed this up?
there is no difference worth mentioning with Display.swapBuffers that does not grab system messages
4. Would it be wise to combine all of my GUI textures into 1 large texture to avoid a lot of texture binding during the GUI VBO drawing stage?
5. Are textures no longer subject to power of 2 limitations?
I render the GUI in an FBO and use the texture created, but when I created the texture I used 1600x900 for the dimensions (non power of 2) and it did it with no trouble. I was under the impression you have to use special calls to use non-power of 2.
More questions may follow, and thank you in advance for taking the time to answer.