Re: [clutter] How can I avoid _clutter_do_pick at motion event?

2010-01-11 Thread Michael Boccara



Neil Roberts wrote:

Murray Cumming murr...@murrayc.com writes:

  

My superficial reading of OpenGL books suggest that reading rendered
graphics data should be avoided because it must wait for the rendering
to happen, blocking the pipeline. Have I misunderstood?



It's true that generally reading back graphics data should be avoided
but we think for Clutter the cost is worth it because it provides the
most flexible picking method with the simplest interface to
developers. The time needed for the render should be relatively quick
because it is scissored to a 1x1 pixel rectangle and it usually ends up
being batched up to a single call to glDrawArrays.

  
From our experience the GPU sync involved by the readback is the 
performance killer. The issue is not about the time to complete the 1x1 
pixel draw and readback, but rather the sync it implies with the 
previously _painted_ frame.


The biggest cost is when dragging the finger/mouse, as it involves a 
pick for every paint, hence killing the CPU/GPU parallelism.
And dragging happens to be the case where you need the highest 
framerate, because of the extra-sensitivity that comes with on-screen 
user interaction.


Bottomline, we found it is usually very worthwhile to disable picking  
during the press/release scope.



Also with the work in the async-pbo-picking it should be possible to
avoid blocking altogether if the driver implements it correctly.

- Neil
  


--
Michael Boccara
Graphtech
Herzliya, Israel




Re: [clutter] How can I avoid _clutter_do_pick at motion event?

2009-12-23 Thread jiangwei zhou
Title: Samsung Enterprise Portal mySingle
as far as i know, if the actor(i mean any actor and subactor 
classes) implenents the clutter_actor_pick
the clutter_do_pick will work, so if you want to remove the penality,
you can disable the clutter_actor_pick in those sub-actor class's implementation, 

just disable it in those xxx_class_init(), rebuild and try 

best regards.--- Original Message ---Sender : Rubricrubri...@gmail.comDate   : ??? 23, 2009 19:59 (GMT+09:00)Title  : [clutter] How can I avoid _clutter_do_pick at motion event?Hi there.
I encountered a problem of rendering performance 
when I drag the pointer on a touch device during clutter application is playing.
In case of embedded system, since glReadPixel has terrible performance,
I wish to avoid _clutter_do_pick at motion event in my clutter application.
Is there any method?
Thank you.
N‹§²æìr¸›zǧu©šŠ[hr[­µêþº{.nÇ+‰·¨…©Ýr‰

Re: [clutter] How can I avoid _clutter_do_pick at motion event?

2009-12-23 Thread Emmanuele Bassi
On Wed, 2009-12-23 at 19:59 +0900, Rubric wrote:
  
 In case of embedded system, since glReadPixel has terrible
 performance,

that's not entirely true for *every* embedded system. I'd suggest you
ask for a better driver.

 I wish to avoid _clutter_do_pick at motion event in my clutter
 application.
  
 Is there any method?

clutter_set_motion_events_enabled() will stop trying to find out the
actor underneath the pointer - but it will disable event delivery on
actors, so that only the Stage will emit pointer-related signals, like
button-press, button-release and motion. also, enter and leave signals
will not be emitted.

ciao,
 Emmanuele.


-- 
To unsubscribe send a mail to clutter+unsubscr...@o-hand.com