picoe/Eto

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

Open

#1,529 opened on Dec 5, 2019

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C# (3,387 stars) (320 forks)batch import
help wanted

Description

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

Contributor guide

[Mac] gridview gets and draws all cells horizontally out of view · picoe/Eto#1529 | Good First Issue