picoe/Eto

[Mac] gridview gets and draws all cells horizontally out of view

Aperta

#1529 aperta il 5 dic 2019

 (1 commento) (0 reazioni) (0 assegnatari)C# (320 fork)batch import
help wanted

Metriche repository

Star
 (3387 stelle)
Metriche merge PR
 (Merge medio 2g 23h) (15 PR mergiate in 30 g)

Descrizione

Expected Behavior

When the mac gridview loads and gets cells to display/draw, it should only do this for the visible cells.

Actual Behavior

The mac gridview seems to load and draw all the cells horizontally out of view, but not vertically out of view.

Info

When loading data in to a 300/300 size gridview with a column count of 60 and a row count of 10,000 with varying complex cells, it takes quite a while to load. When loaded, it seems that scrolling horizontally does not cause the table cell views to load/be drawn. Almost like they have already been drawn. This can cause massive performance drops to the mac gridview with many columns as it tries to get the data for all columns while scrolling vertically.

Solution

Only get/draw cells that are visible in the gridscrollview

Steps to Reproduce the Problem

  1. Create grid of any size
  2. Give it 60+ columns, 10000+ rows and cells of varying complexity. ~complex being an imageviewcell
  3. Launch app and see the performance issues mentioned above.

Specifications

  • Version: latest
  • Platform(s): mac, xammac2
  • Operating System(s): any mac OS

Guida contributor