Если закомментить код в HostCFrames.ListUpdate
## Код:
```
PROCEDURE (f: ListBox) UpdateList;
      VAR res, i: INTEGER; s: Dialog.String;
   BEGIN
      (*
      IF f.i.dropDown THEN
         res := WinApi.SendMessageW(f.i.ctrl, WinApi.CB_RESETCONTENT, 0, 0);
         i := 0; f.GetName(f, i, s);
         Dialog.MapString(s, s); ConvertFromUnicode(s);
         WHILE s # "" DO
            res := WinApi.SendMessageW(f.i.ctrl, WinApi.CB_ADDSTRING, 0, SYSTEM.ADR(s));
            res := WinApi.SendMessageW(f.i.ctrl, WinApi.CB_SETITEMDATA, res, i);
            INC(i); f.GetName(f, i, s); Dialog.MapString(s, s); ConvertFromUnicode(s);
         END;
         Adapt(f, f.i)
      ELSE
         res := WinApi.SendMessageW(f.i.ctrl, WinApi.LB_RESETCONTENT, 0, 0);
         i := 0; f.GetName(f, i, s);
         Dialog.MapString(s, s); ConvertFromUnicode(s);
         WHILE s # "" DO
            res := WinApi.SendMessageW(f.i.ctrl, WinApi.LB_ADDSTRING, 0, SYSTEM.ADR(s));
            res := WinApi.SendMessageW(f.i.ctrl, WinApi.LB_SETITEMDATA, res, i);
            INC(i); f.GetName(f, i, s); Dialog.MapString(s, s); ConvertFromUnicode(s);
         END
      END;
      *)
      f.Update
   END UpdateList;
```
То 500 ! выпадающих списков обновляются за 5-6 мс. Поэтому как бы не хотелось опорочить ББ, он видимо действительно не при чем. Вчистую тормоза WinApi, да и не так уж это и быстро по идее, поскольку он заново пересоздает все списки.