|
|
- using UnityEngine;
- using System.Collections;
- using UnityEngine.TextCore.LowLevel;
-
-
- namespace TMPro.Examples
- {
-
- public class Benchmark03 : MonoBehaviour
- {
- public enum BenchmarkType { TMP_SDF_MOBILE = 0, TMP_SDF__MOBILE_SSD = 1, TMP_SDF = 2, TMP_BITMAP_MOBILE = 3, TEXTMESH_BITMAP = 4 }
-
- public int NumberOfSamples = 100;
- public BenchmarkType Benchmark;
-
- public Font SourceFont;
-
-
- void Awake()
- {
-
- }
-
-
- void Start()
- {
- TMP_FontAsset fontAsset = null;
-
- // Create Dynamic Font Asset for the given font file.
- switch (Benchmark)
- {
- case BenchmarkType.TMP_SDF_MOBILE:
- fontAsset = TMP_FontAsset.CreateFontAsset(SourceFont, 90, 9, GlyphRenderMode.SDFAA, 256, 256, AtlasPopulationMode.Dynamic);
- break;
- case BenchmarkType.TMP_SDF__MOBILE_SSD:
- fontAsset = TMP_FontAsset.CreateFontAsset(SourceFont, 90, 9, GlyphRenderMode.SDFAA, 256, 256, AtlasPopulationMode.Dynamic);
- fontAsset.material.shader = Shader.Find("TextMeshPro/Mobile/Distance Field SSD");
- break;
- case BenchmarkType.TMP_SDF:
- fontAsset = TMP_FontAsset.CreateFontAsset(SourceFont, 90, 9, GlyphRenderMode.SDFAA, 256, 256, AtlasPopulationMode.Dynamic);
- fontAsset.material.shader = Shader.Find("TextMeshPro/Distance Field");
- break;
- case BenchmarkType.TMP_BITMAP_MOBILE:
- fontAsset = TMP_FontAsset.CreateFontAsset(SourceFont, 90, 9, GlyphRenderMode.SMOOTH, 256, 256, AtlasPopulationMode.Dynamic);
- break;
- }
-
- for (int i = 0; i < NumberOfSamples; i++)
- {
- switch (Benchmark)
- {
- case BenchmarkType.TMP_SDF_MOBILE:
- case BenchmarkType.TMP_SDF__MOBILE_SSD:
- case BenchmarkType.TMP_SDF:
- case BenchmarkType.TMP_BITMAP_MOBILE:
- {
- GameObject go = new GameObject();
- go.transform.position = new Vector3(0, 1.2f, 0);
-
- TextMeshPro textComponent = go.AddComponent<TextMeshPro>();
- textComponent.font = fontAsset;
- textComponent.fontSize = 128;
- textComponent.text = "@";
- textComponent.alignment = TextAlignmentOptions.Center;
- textComponent.color = new Color32(255, 255, 0, 255);
-
- if (Benchmark == BenchmarkType.TMP_BITMAP_MOBILE)
- textComponent.fontSize = 132;
-
- }
- break;
- case BenchmarkType.TEXTMESH_BITMAP:
- {
- GameObject go = new GameObject();
- go.transform.position = new Vector3(0, 1.2f, 0);
-
- TextMesh textMesh = go.AddComponent<TextMesh>();
- textMesh.GetComponent<Renderer>().sharedMaterial = SourceFont.material;
- textMesh.font = SourceFont;
- textMesh.anchor = TextAnchor.MiddleCenter;
- textMesh.fontSize = 130;
-
- textMesh.color = new Color32(255, 255, 0, 255);
- textMesh.text = "@";
- }
- break;
- }
- }
- }
-
- }
- }
|