pub struct RenderAssetBytesPerFrame {
pub max_bytes: Option<usize>,
pub available: usize,
}
Expand description
A resource that attempts to limit the amount of data transferred from cpu to gpu each frame, preventing choppy frames at the cost of waiting longer for gpu assets to become available
Fields§
§max_bytes: Option<usize>
§available: usize
Implementations§
source§impl RenderAssetBytesPerFrame
impl RenderAssetBytesPerFrame
sourcepub fn new(max_bytes: usize) -> Self
pub fn new(max_bytes: usize) -> Self
max_bytes
: the number of bytes to write per frame.
this is a soft limit: only full assets are written currently, uploading stops
after the first asset that exceeds the limit.
To participate, assets should implement RenderAsset::byte_len
. If the default
is not overridden, the assets are assumed to be small enough to upload without restriction.
sourcepub fn reset(&mut self)
pub fn reset(&mut self)
Reset the available bytes. Called once per frame by the crate::RenderPlugin
.
sourcepub fn available_bytes(&self, required_bytes: usize) -> usize
pub fn available_bytes(&self, required_bytes: usize) -> usize
check how many bytes are available since the last reset
Trait Implementations§
source§impl Clone for RenderAssetBytesPerFrame
impl Clone for RenderAssetBytesPerFrame
source§fn clone(&self) -> RenderAssetBytesPerFrame
fn clone(&self) -> RenderAssetBytesPerFrame
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RenderAssetBytesPerFrame
impl Debug for RenderAssetBytesPerFrame
source§impl Default for RenderAssetBytesPerFrame
impl Default for RenderAssetBytesPerFrame
source§fn default() -> RenderAssetBytesPerFrame
fn default() -> RenderAssetBytesPerFrame
Returns the “default value” for a type. Read more
source§impl ExtractResource for RenderAssetBytesPerFramewhere
Self: Clone,
impl ExtractResource for RenderAssetBytesPerFramewhere
Self: Clone,
type Source = RenderAssetBytesPerFrame
source§fn extract_resource(source: &Self::Source) -> Self
fn extract_resource(source: &Self::Source) -> Self
Defines how the resource is transferred into the “render world”.
impl Copy for RenderAssetBytesPerFrame
impl Resource for RenderAssetBytesPerFrame
Auto Trait Implementations§
impl Freeze for RenderAssetBytesPerFrame
impl RefUnwindSafe for RenderAssetBytesPerFrame
impl Send for RenderAssetBytesPerFrame
impl Sync for RenderAssetBytesPerFrame
impl Unpin for RenderAssetBytesPerFrame
impl UnwindSafe for RenderAssetBytesPerFrame
Blanket Implementations§
source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
Return the
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self
using data from the given World
.