You probably want to build a multizone update to update just the necessary zones. Here is a snippet of some of my code that updates zones only if they are visible in that particular context:
public MultiZoneUpdate getPriceMultiZoneUpdate() { MultiZoneUpdate update = new MultiZoneUpdate("totalPriceZone", totalPriceZone); if(isSubtotalVisible()) { update = update.add("subtotalZone", subtotalZone); } if(isDiscountVisible()) { update = update.add("totalDiscountsZone", totalDiscountsZone); } if(isSalesTaxVisible()) { update = update.add("totalSalesTaxZone", totalSalesTaxZone); } if(isFulfillmentFeeVisible()) { update = update.add("totalFulfillmentFeeZone", totalFulfillmentFeeZone); } return update; }