Loading ...
Sorry, an error occurred while loading the content.

Re: drag drop performance

Expand Messages
  • blicksky
    You can take a look at it here: http://blicksky.com/brabble/yui/. This is a new attempt (since being introduced to YUI) at an old project at
    Message 1 of 7 , Oct 8, 2007
    • 0 Attachment
      You can take a look at it here: http://blicksky.com/brabble/yui/.

      This is a new attempt (since being introduced to YUI) at an old
      project at http://blicksky.com/brabble. The old drag code I wrote
      from scratch, while broken in terms of when you drop a piece, is much
      faster.

      Thanks so much for your help.

      --- In ydn-javascript@yahoogroups.com, Dav Glass <dav.glass@...> wrote:
      >
      > Do you think you could send me a link?
      >
      > Then I could see it in action :)
      >
      > Dav
      >
      > Dav Glass
      > dav.glass@...
      > Sent from my iPhone
      >
      > On Oct 8, 2007, at 5:00 PM, "blicksky" <blicksky@...> wrote:
      >
      > Thanks! that definitely helped. There's still one problem that I'm
      > wondering if you can help me with:
      >
      > At the beginning of the drag, there is about a 1 second delay before
      > the draggable element is moved to where the mouse is and begins to
      > follow the mouse. I've already set
      > YAHOO.util.DragDropMgr.clickPixelThresh = 1;
      > in case setting it to 0 caused it to be considered unset and revert to
      > it's default of 1000 (1 second), but it doesn't seem to help. Am I
      > not setting this value properly, or is there some intensive work being
      > done onStartDrag that is causing the delay?
      >
      > --- In ydn-javascript@yahoogroups.com, dav.glass@ wrote:
      > >
      > > blicksky --
      > >
      > > Here's a simple way to get what you want:
      > > http://blog.davglass.com/files/yui/dd13/
      > >
      > > Hope that helps :)
      > > Dav
      > >
      > > Dav Glass
      > > dav.glass@
      > > blog.davglass.com
      > >
      > > + Windows: n. - The most successful computer virus, ever. +
      > > + A computer without a Microsoft operating system is like a dog
      > > without bricks tied to its head +
      > > + A Microsoft Certified Systems Engineer is to computing what a
      > > McDonalds Certified Food Specialist is to fine cuisine +
      > >
      > > ----- Original Message ----
      > > From: blicksky <blicksky@>
      > > To: ydn-javascript@yahoogroups.com
      > > Sent: Monday, October 8, 2007 8:02:45 AM
      > > Subject: [ydn-javascript] drag drop performance
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > > I'm working with a board game, containing a 15x15 grid
      > with 225 DragDrop
      > >
      > > targets, and a small number of draggable objects. Due to the large
      > >
      > > number of drag targets, moving around the draggable objects is
      slow and
      > >
      > > choppy. The documentation says this is expected because there are
      > >
      > > events being fired many times for each move of the mouse. It suggests
      > >
      > > using DDProxy, and that helps a little, but not quite enough.
      > >
      > >
      > >
      > > For my purposes, I do not need to react to a draggable object being
      > >
      > > moved over a drag target; I only need to know what target the
      draggable
      > >
      > > object was over when the mouse button is released so that it can be
      > >
      > > attached there. Is there any way to configure the YUI DD objects so
      > >
      > > that there are no events fired for each mousemove aside from updating
      > >
      > > the position of the draggable object?
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > >
      > > <!--
      > >
      > > #ygrp-mkp{
      > > border:1px solid #d8d8d8;font-family:Arial;margin:14px
      > 0px;padding:0px 14px;}
      > > #ygrp-mkp hr{
      > > border:1px solid #d8d8d8;}
      > > #ygrp-mkp #hd{
      > >
      >
      color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px
      > 0px;}
      > > #ygrp-mkp #ads{
      > > margin-bottom:10px;}
      > > #ygrp-mkp .ad{
      > > padding:0 0;}
      > > #ygrp-mkp .ad a{
      > > color:#0000ff;text-decoration:none;}
      > > -->
      > >
      > >
      > >
      > > <!--
      > >
      > > #ygrp-sponsor #ygrp-lc{
      > > font-family:Arial;}
      > > #ygrp-sponsor #ygrp-lc #hd{
      > > margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
      > > #ygrp-sponsor #ygrp-lc .ad{
      > > margin-bottom:10px;padding:0 0;}
      > > -->
      > >
      > >
      > >
      > > <!--
      > >
      > > #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean,
      > sans-serif;}
      > > #ygrp-mlmsg table {font-size:inherit;font:100%;}
      > > #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica,
      > clean, sans-serif;}
      > > #ygrp-mlmsg pre, code {font:115% monospace;}
      > > #ygrp-mlmsg * {line-height:1.22em;}
      > > #ygrp-text{
      > > font-family:Georgia;
      > > }
      > > #ygrp-text p{
      > > margin:0 0 1em 0;}
      > > #ygrp-tpmsgs{
      > > font-family:Arial;
      > > clear:both;}
      > > #ygrp-vitnav{
      > > padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
      > > #ygrp-vitnav a{
      > > padding:0 1px;}
      > > #ygrp-actbar{
      > > clear:both;margin:25px
      > 0;white-space:nowrap;color:#666;text-align:right;}
      > > #ygrp-actbar .left{
      > > float:left;white-space:nowrap;}
      > > .bld{font-weight:bold;}
      > > #ygrp-grft{
      > > font-family:Verdana;font-size:77%;padding:15px 0;}
      > > #ygrp-ft{
      > > font-family:verdana;font-size:77%;border-top:1px solid #666;
      > > padding:5px 0;
      > > }
      > > #ygrp-mlmsg #logo{
      > > padding-bottom:10px;}
      > >
      > > #ygrp-vital{
      > > background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
      > > #ygrp-vital #vithd{
      > >
      >
      font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
      > > #ygrp-vital ul{
      > > padding:0;margin:2px 0;}
      > > #ygrp-vital ul li{
      > > list-style-type:none;clear:both;border:1px solid #e0ecee;
      > > }
      > > #ygrp-vital ul li .ct{
      > >
      >
      font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
      > > #ygrp-vital ul li .cat{
      > > font-weight:bold;}
      > > #ygrp-vital a{
      > > text-decoration:none;}
      > >
      > > #ygrp-vital a:hover{
      > > text-decoration:underline;}
      > >
      > > #ygrp-sponsor #hd{
      > > color:#999;font-size:77%;}
      > > #ygrp-sponsor #ov{
      > > padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
      > > #ygrp-sponsor #ov ul{
      > > padding:0 0 0 8px;margin:0;}
      > > #ygrp-sponsor #ov li{
      > > list-style-type:square;padding:6px 0;font-size:77%;}
      > > #ygrp-sponsor #ov li a{
      > > text-decoration:none;font-size:130%;}
      > > #ygrp-sponsor #nc{
      > > background-color:#eee;margin-bottom:20px;padding:0 8px;}
      > > #ygrp-sponsor .ad{
      > > padding:8px 0;}
      > > #ygrp-sponsor .ad #hd1{
      > >
      >
      font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
      > > #ygrp-sponsor .ad a{
      > > text-decoration:none;}
      > > #ygrp-sponsor .ad a:hover{
      > > text-decoration:underline;}
      > > #ygrp-sponsor .ad p{
      > > margin:0;}
      > > o{font-size:0;}
      > > .MsoNormal{
      > > margin:0 0 0 0;}
      > > #ygrp-text tt{
      > > font-size:120%;}
      > > blockquote{margin:0 0 0 4px;}
      > > .replbq{margin:4;}
      > > -->
      > >
      >
      >
      > or .ad{ padding: 8px 0; } #ygrp-sponsor .ad #hd1{ font-family:
      Arial; font-weight: bold; color: #628c2a; font-size: 100%;
      line-height: 122%; } #ygrp-sponsor .ad a{ text-decoration: none; }
      #ygrp-sponsor .ad a:hover{ text-decoration: underline; } #ygrp-sponsor
      .ad p{ margin: 0; } o{font-size: 0; } .MsoNormal{ margin: 0 0 0 0; }
      #ygrp-text tt{ font-size: 120%; } blockquote{margin: 0 0 0 4px;}
      .replbq{margin:4} -->
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.