pub struct TimestampQuery { /* private fields */ }Expand description
Allows you to obtain the timestamp inside the OpenGL commands queue.
When you call functions in glium, they are not instantly executed. Instead they are added in a commands queue that the backend executes asynchronously.
When you call TimestampQuery::new, a command is added to this list asking the
backend to send us the current timestamp. Thanks to this, you can know how much time
it takes to execute commands.
§Example
let before = glium::debug::TimestampQuery::new(&display);
// do some stuff here
let after = glium::debug::TimestampQuery::new(&display);
match (after, before) {
(Some(after), Some(before)) => {
let elapsed = after.get() - before.get();
println!("Time it took to do stuff: {}", elapsed);
},
_ => ()
}Implementations§
Source§impl TimestampQuery
impl TimestampQuery
Sourcepub fn new<F>(facade: &F) -> Option<TimestampQuery>
pub fn new<F>(facade: &F) -> Option<TimestampQuery>
Creates a new TimestampQuery. Returns None if the backend doesn’t support it.
Auto Trait Implementations§
impl Freeze for TimestampQuery
impl !RefUnwindSafe for TimestampQuery
impl !Send for TimestampQuery
impl !Sync for TimestampQuery
impl Unpin for TimestampQuery
impl !UnwindSafe for TimestampQuery
Blanket Implementations§
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SetParameter for T
impl<T> SetParameter for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.