- Home /
Fast line rendering in 2D/3D
Hi all,
I'm currently trying to find the best way to render line on mobile device. These lines grows up and are very basic. They share a same point : 0,0 and then grow in any direction from 0 to x (in distance).
On my laptop, such a code is doing fine :
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Vectrosity;
public class Lines : MonoBehaviour {
private Vectrosity.VectorLine myLine;
private List<VectorLine> path;
private List<Vector3> targetList;
public Material lineMaterial;
[Range(0.1f, 10.0f)]
public float stroke;
[Range(1, 1000)]
public int lineNumbers;
float distance = 0;
// Use this for initialization
void Start () {
path = new List<VectorLine>();
targetList = new List<Vector3>();
float max = 10.0f;
float min = -10.0f;
for (int i = 0; i < lineNumbers; i++){
var linePoints = new Vector3[2];
linePoints[0].x = 0;
linePoints[0].y = 0;
linePoints[0].z = 0;
targetList.Add (new Vector3(Random.Range(min,max), Random.Range(min,max),Random.Range(min,max)));
path.Add(new VectorLine("foo"+i.ToString(), linePoints, lineMaterial, stroke));
}
}
// Update is called once per frame
void Update () {
for (int i = 0; i < lineNumbers; i++){
Vector3 vEnd = path[i].points3[1] + (targetList[i].normalized * distance);
path[i].points3[1] = vEnd;
path[i].Draw3D();
}
distance+=0.01f;
}
}
Unfortunately, compiling the same code for iOS iphone, give really bad performance. I stick around : - 10fps for 1000 lines - 20fps for 500 lines - 30fps for 300 lines
30 fps is fine but I just wondering how one would handle to draw 2000 or more lines at the same time ?
thanks a lot !
Your answer
Follow this Question
Related Questions
Frame Rate Problem 1 Answer
low FPS when battery is low ( unity android ) 0 Answers
Low FPS when against a wall? 1 Answer
Level creation, draw calls, and texturing 3 Answers
Extremely poor Android performance, even in simple scenes 0 Answers