Can we have that as part of the OpenGL supported callouts, please? I'd like to see what happens, when all Unit textures get stored in PBOs and are using DMA. My guess is that it will substantially improve texture throughput per render frame, at the cost of being incompatible with Intel 945, etc., so I'd like to just include it within the Unit shader Gadget's flow, and see what impact it makes on total performance.
If it's already available, and it's just not cited in the Wiki, let me know if there is any example code available.
Oh, and also, after reading the nVidia documentation, it appears that we'd see a pretty big throughput improvement by sending textures BRGA, instead of RGBA, and then shifting the values per fragment on the GPU (I even suspect, given what they had to say, that this probably applies if you aren't using PBO, so this might offer a way to substantially improve the speed of the ARB shaders as well, but I don't know enough about this yet). GL_BGRA, to be specific.
We can't do that in Lua ATM, because that OpenGL texture parameter isn't available.
Pixel Buffer Object
Moderator: Moderators
Re: Pixel Buffer Object
what does the pbo setting do?
Re: Pixel Buffer Object
It turns on PBO within the engine for map rendering, I assume (I haven't read that code, mind you, so it may be something that does nothing atm- I see no performance change with it on).
I love the description, though... it has nothing to do with texture memory per se at all, just throughput. If we want to do something serious about texture memory, then we need a "texture detail" setting, like most commercial games have, that forces mips down when distance > some constant, or just skips the top mip entirely, so everything's a lot uglier but texture throughput is a lot smaller.
However, it probably isn't performing anything like it should be, because the textures aren't being stored as GL_BGRA and then corrected by the ARB fragment shader (i.e., a second ARB shader should be used, to take full advantage of this on GPUs capable of supporting PBO in the first place).
I love the description, though... it has nothing to do with texture memory per se at all, just throughput. If we want to do something serious about texture memory, then we need a "texture detail" setting, like most commercial games have, that forces mips down when distance > some constant, or just skips the top mip entirely, so everything's a lot uglier but texture throughput is a lot smaller.
However, it probably isn't performing anything like it should be, because the textures aren't being stored as GL_BGRA and then corrected by the ARB fragment shader (i.e., a second ARB shader should be used, to take full advantage of this on GPUs capable of supporting PBO in the first place).
Re: Pixel Buffer Object
http://en.wikipedia.org/wiki/Pixel_buffer
This article says: "The pBuffer has been deprecated and replaced by FBOs (Framebuffer Objects)."
It's better to turn on this option in spring or not? If i Use GeForce 560ti?
This article says: "The pBuffer has been deprecated and replaced by FBOs (Framebuffer Objects)."
It's better to turn on this option in spring or not? If i Use GeForce 560ti?
sage goes in the email field
it's considered bad practice to bump a 2+ year old thread
Re: sage goes in the email field
I asking not only thread author, but a whole community. And I just want to keep information about pixel buffer in one place to reduce chaos.smoth wrote:it's considered bad practice to bump a 2+ year old thread
Re: Pixel Buffer Object
i noted no change in fps with turning it on or off
Re: Pixel Buffer Object
Another wikipedia article says:knorke wrote:i noted no change in fps with turning it on or off
http://en.wikipedia.org/wiki/Comparison ... d_Direct3DThe Direct3D method (SetRenderTarget()) is convenient, while prior versions of OpenGL required manipulating pixel buffers (P-buffers). This was cumbersome and risky: if the programmer's codepath was different from that anticipated by the driver maker, the code would have fallen back to software rendering, causing a substantial performance drop. However, widespread support for the "frame buffer objects" extension, which provided an OpenGL equivalent of the Direct3D method, successfully addressed this shortcoming, and the "render target" feature of OpenGL brought OpenGL up to par with Direct3D in this respect.
seems that spring should drop pixel buffer implementation or use frame buffer objects instead.
Re: Pixel Buffer Object
jamerlan, don't talk about stuff you don't know, please ...
If you really want to make judgments about these things, you have to learn OpenGL. Searching for random names on wikipedia and making assumptions based on this, fails totally.
Thx, lock?
If you really want to make judgments about these things, you have to learn OpenGL. Searching for random names on wikipedia and making assumptions based on this, fails totally.
Thx, lock?