Bug 218673 [DataBinding] SWTUtil should use timerExec(0,...) rather than asyncExec
In the event that you have a lot of cross-realm bindings, the current implementation of DisplayRealm generates a lot of flicker due to excess asyncExecs. It should be using SWTUtil.greedyExec instead. (Note: if you make this change, you may want to remove the display filter from WorkQueue. There are certain methods that do not like being called from an event filter, so running arbitrary asyncExecs during a filter may not always be safe.)
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/provisional/swt/SWTUtil.java
/**
     * Runs the given runnable on the given display as soon as possible. Unlike
     * greedyExec, this has no effect if the given runnable has already been
     * scheduled for execution. Use this method to schedule work that will
     * affect the way one or more wigdets are drawn, but that should only happen
     * once.
     * 
     * <p>
     * This is threadsafe.
     * </p>
     * 
     * @param d
     *            display
     * @param r
     *            runnable to execute in the UI thread. Has no effect if the
     *            given runnable has already been scheduled but has not yet run.
     */
    public static void runOnce(Display d, Runnable r) {
        if (d.isDisposed()) {
            return;
        }
        WorkQueue queue = getQueueFor(d);
        queue.runOnce(r);
    }
    /**
     * Cancels a greedyExec or runOnce that was previously scheduled on the
     * given display. Has no effect if the given runnable is not in the queue
     * for the given display
     * 
     * @param d