Jump to content

  • Log In with Google      Sign In   
  • Create Account


#Actualcr88192

Posted 24 April 2013 - 12:00 PM

doing things like loading in a separate thread can help performance IME, but isn't so much related to GPU related reasons (like uploading the texture) as much as more CPU-related tasks: decoding the textures and converting them to DXT. also things like parsing 3D models, ...

(for example, decoding PNG / JPEG / 3D models / ... while not that expensive, isn't free either...).

(though, I later ended up having to move some of this stuff back into the main thread for now, as my engine falls a little short of being thread-safe... and worse performance was preferable to data trampling / crashes / ...).


the GPU stalls in question aren't usually the big obvious stalls (like, enter a room and wait 1/2 second...), but are usually much smaller (microseconds?), so while they may kill the framerate if done regularly mid-render, they can still be used for "reasonably transparent" loading.

it is in-fact possible to stream things like video and similar to the GPU without hurting things too badly (though you might want to make sure any DXTn encoding/... is done before passing them off to OpenGL).


ADD: I don't know about fake drawing... I had just been calling 'glFinish();' after uploading which seems to do something at least...

granted, I can't really claim to be an 'expert' on all this...

#2cr88192

Posted 24 April 2013 - 12:00 PM

doing things like loading in a separate thread can help performance IME, but isn't so much related to GPU related reasons (like uploading the texture) as much as more CPU-related tasks: decoding the textures and converting them to DXT. also things like parsing 3D models, ...

(for example, decoding PNG / JPEG / 3D models / ... while not that expensive, isn't free either...).

(though, I later ended up having to move some of this stuff back into the main thread for now, as my engine falls a little short of being thread-safe... and worse performance was preferable to data trampling / crashes / ...).


the GPU stalls in question aren't usually the big obvious stalls (like, enter a room and wait 1/2 second...), but are usually much smaller (microseconds?), so while they may kill the framerate if done regularly mid-render, they can still be used for "reasonably transparent" loading.

it is in-fact possible to stream things like video and similar to the GPU without hurting things too badly (though you might want to make sure any DXTn encoding/... is done before passing them off to OpenGL).


ADD: I don't know about fake drawing... I had just been calling 'glFinish();' after uploading which seems to do something at least...

granted, I can't really claim to be an 'expert' on all this...

#1cr88192

Posted 24 April 2013 - 11:52 AM

doing things like loading in a separate thread can help performance IME, but isn't so much related to GPU related reasons (like uploading the texture) as much as more CPU-related tasks: decoding the textures and converting them to DXT. also things like parsing 3D models, ...

 

(for example, decoding PNG / JPEG / 3D models / ... while not that expensive, isn't free either...).

 

(though, I later ended up having to move some of this stuff back into the main thread for now, as my engine falls a little short of being thread-safe... and worse performance was preferable to data trampling / crashes / ...).

 

 

the GPU stalls in question aren't usually the big obvious stalls (like, enter a room and wait 1/2 second...), but are usually much smaller (microseconds?), so while they may kill the framerate if done regularly mid-render, they can still be used for "reasonably transparent" loading.

 

it is in-fact possible to stream things like video and similar to the GPU without hurting things too badly (though you might want to make sure any DXTn encoding/... is done before passing them off to OpenGL).


PARTNERS