title: Flutter columns scrolling gets very laggy with higher row counts
body: <p>so I am trying to build a multi platform table for my flutter project. But when the row count gets larger than a few hundred, the scrolling geht's extremely laggy, especially in a web application. The build process also takes almost 5 seconds.
  To build the tab I use a Column with identical build Rows inside a SingleChildScrollView.
  The Table class of Flutter has the same issue and I couldn't find a working package on pub.dev jet.</p>
  <p>Even in a Project where only this Table exists, the scrolling is not acceptable.
  What can I do to build a large row count like 1000 or more with a smooth scrolling?</p>
  <p>Here is the simplified code:</p>
  <pre><code>import 'package:flutter/material.dart';
  
  class MyTable extends StatefulWidget{
    @override
    State&lt;MyTable&gt; createState() =&gt; _MyTableState();
  }
  
  class _MyTableState extends State&lt;MyTable&gt; {
  
    final double columnSpace = 5;
    final double rowSpace = 5;
  
    final decoration = BoxDecoration(
      borderRadius: BorderRadius.circular(5),
      color: Colors.grey,
    );
  
    @override
    Widget build(BuildContext context) {
      return SingleChildScrollView(
        child: Column(
          children: List.generate(1000, (index) =&gt; _buildRow(index)),
        ),
      );
    }
  
    _buildRow(int index){
      return Column(
        children: [
          SizedBox(
            height: 40,
            child: Row(
              children: [
                _buildExpandedCell(10, index.toString()),
                SizedBox(width: rowSpace,),
                _buildExpandedCell(4, index.toString()),
                SizedBox(width: rowSpace,),
                _buildExpandedCell(3, index.toString()),
                SizedBox(width: rowSpace,),
                _buildExpandedCell(3, index.toString()),
                SizedBox(width: rowSpace,),
                _buildExpandedCell(3, index.toString()),
                SizedBox(width: rowSpace,),
                Container(
                  decoration: decoration,
                  width: 90,
                ),
              ],
            ),
          ),
          SizedBox(height: columnSpace,),
        ],
      );
    }
    _buildExpandedCell(int flex, String content){
      return Expanded(
          flex: flex,
          child: Container(
            height: double.infinity,
            decoration: decoration,
            child: Center(child: Text(content)),
          ),
        );
    }
  }
  </code></pre>