Re: Help us to Optimize PR! (LOD Switching & Cull Distances)
Posted: 2011-12-29 17:17
screen rez dose make quite a big difference tbh and anyone doing this should be working with quite a large screen, 22"+
I don't understand? A pixel is a pixel*... larger screens have more of them, but the point at which something is rendered @ x number of pixels shouldn't change depending on your monitor size... should it?[R-DEV]Rhino wrote:screen rez dose make quite a big difference tbh and anyone doing this should be working with quite a large screen, 22"+
I'm not trying to start an argument here or anything, just merely trying to understand (as the information being presented flies directly in the face with what I thought I 'knew'). That being said:[R-DEV]Rhino wrote:at really far distances the gfx card needs to decide if its going to render a pixel for that object, or not, if its so small, it will choose not to because the bg around it is more dominant. The more pixels you have, the further away before you get to that situation.
Yes your right its not the GPU, its in fact the CPU that deals with that kinda stuff in relation to the engine.Psyrus wrote:I'm not trying to start an argument here or anything, just merely trying to understand (as the information being presented flies directly in the face with what I thought I 'knew'). That being said:
From my very short stint in CG (1 semester during my BSc), for the most part it isn't "up to" the GPU to decide what is rendered or not [with exceptions, no doubt]... that job falls to the rendering engine, which sends rendering commands to the GPU based on the scene it is presented.
I was talking in terms of bigger screen sizes with more pixels but in the case of same screen sizes with diffrent rezes, its hard to say I don't exactly know.Psyrus wrote:The final sentence in your post seems counter intuitive, especially considering the 'background' would simply be defined by the surrounding pixels, not the entire screen... but to return to your sentence, the more pixels you have, using your logic: shouldn't it happen *sooner* than later because you have a larger rendered area around the 'object' in question, thus resulting in a smaller % usage of pixels by the object.
For example on a 1920x1080 screen, rendering a 3 pixel object is thus 0.00014% of the screen, versus on my 1366x768 where the object accounts for 0.00029% of the screen... meaning it should stay on the screen longer than the larger screen because the background would be less 'dominant'.
Psyrus wrote:Again the above is merely following the logic of your post, however I feel that there is either something I'm missing or something incorrect in your assertion about the GPU rendering/culling pixels differently on different resolutions.
=====================
edit: But the anecdotal evidence would point to you being correct, since illidur seems to be struggling to render @ 9xx meters on a 720p (1280x720?) monitor, whereas mine can go higher to 1300+ meters on a 1366x768 monitor... :\
Thanks for the insight on your understanding[R-DEV]Rhino wrote:How I understand it, it works
... explanation ...
but I've not seen anything to suggest otherwise.
illidur wrote:is it normal that i can render a BH at 993.59 as a pixel with 3 cull?
Psyrus wrote:I got to 1311.74 with 3 pixels @ 3.7 cull distance (from the side)
Well I used 1366x768 for mine too and it resulted in a different cull distance, so I stand by my original assertion that while the resolution might make a minute difference, it is negligible for the purposes of this type of optimization like AquaticPenguin says.illidur wrote:i figured the resolution would make a big difference. but didn't know if it was a setting either. i use 1366x768 and 26" not that size matters...
At an equivalent distance at an equal FOV, the object will be rendered with a different number of pixels, but the same % of pixels on two different resolution screens, however my response below was explaining a different situation where an object is rendered as 3 pixels on both screens.illidur wrote:hey Psyrus i understand what you are talking about, but i think you went wrong at the point where you thought the object would have less % of pixels. common sense says it should stay equal right? with no aspect ratio change of course.
Psyrus wrote:For example on a 1920x1080 screen, rendering a 3 pixel object is thus 0.00014% of the screen, versus on my 1366x768 where the object accounts for 0.00029% of the screen... meaning it should stay on the screen longer than the larger screen because the background would be less 'dominant'.
Again the above is merely following the logic of your post, however I feel that there is either something I'm missing or something incorrect in your assertion about the GPU rendering/culling pixels differently on different resolutions.
ok i'll try and say what i meant.Psyrus wrote: At an equivalent distance at an equal FOV, the object will be rendered with a different number of pixels, but the same % of pixels on two different resolution screens, however my response below was explaining a different situation where an object is rendered as 3 pixels on both screens.
You're completely right in that respect, if we look at the very extreme end of the resolution differences. Even an 1024x768 vs 1920x1080 monitor is only 2.6x different, though. Have you tried my figures and still not been able to get it to appear as 3 pixels @ about 1300m?illidur wrote:ok i'll try and say what i meant.
if both objects started with equal % pixels and with the one object being made up of more. lets say 3x more. if we zoomed out till the point when the higher resolution had the object as 3 pixels, the lower would have 1 right? OK, so now if you keep zooming out till the higher has 1, what will the lower be?
obviously something else is at play here though. as we both use the same resolution.
no something is different between our setups. i turned off my ati catalyst's forced aa. and went to "view" on the editor> removed everything> save layout. restart and i gained like 1 meter from that. not sure whats up.Psyrus wrote:You're completely right in that respect, if we look at the very extreme end of the resolution differences. Even an 1024x768 vs 1920x1080 monitor is only 2.6x different, though. Have you tried my figures and still not been able to get it to appear as 3 pixels @ about 1300m?
So when you get to 950m or whatever it is... how big is the blackhawk at that point? Is it just a single pixel before it disappears? At 983m my blackhawk from a side profile is about 6 pixels across, some dark, some very light. At 950-1000 it is about 3-4 pixels, at it stays that way roughly until 1200 where it transitions to 2-3 pixels, finally falling off to 0-2 at ~1300.illidur wrote:no something is different between our setups. i turned off my ati catalyst's forced aa. and went to "view" on the editor> removed everything> save layout. restart and i gained like 1 meter from that. not sure whats up.
With no anti-aliasing, each pixel is sampled once, at the centre of the pixel. So a pixel takes the colour of whichever polygon happens to cover the centre of the pixel. If an object is less than one pixel in size it can be between the centre of two pixels without covering either of them, and won't be drawn. Having a high cull distance will cause pixels to flicker when an object takes up less than one pixel in width or height. With the blackhawk it could get lost between two horizontal rows of pixelslucky.BOY wrote: As I understand this, since there is no Anti-Aliasing, the engine has to choose which color is dominant in the pixel, and it renders the pixel in that color. So once the object on the screen takes less than half of one pixel, it does not render anymore.