Group them into a larger grid. Then as they get further away you could lower the lod until a certain point, then replace them with billboards, instanced billboards, or batched billboards, though you might have to have some shader knowledge first. The point is, when those trees are only a few pixels on screen, it is much better to just have a quad (two triangles) rendered per tree instead of a mesh. The trick is if you want to combine those quads into groups so the renderer can cull out large sections of the scene without having to check each tree individually. Most AAA games do this is some way or another, from skyrim to battlefield etc. You could combine all your tree billboard textures into one big texture atlas and render them all from that with a shader.