text: [{"Owner":"Mrso92","Date":"2018-04-03T16:29:19Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tHello to all of you. \n_lt_/p_gt_\n\n_lt_p_gt_\n\tFirst of all I want to explain what I do. \n_lt_/p_gt_\n\n_lt_p_gt_\n\tI am building location by passing Vertexes and name of the location(PolygonMeshBuilder for location and material for it). Then I add this specific location into array_co_ remove it from the scene at end and shortly afterwards I merge it. With them I do not have any problems whatsoever.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tHowever I do have horrendous performance issues with  location names. Here I am using the following steps_dd_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t-new DynamicTexture  _eq_&gt_sm_ drawText on it _eq_&gt_sm_new StandardTexture_eq_&gt_sm_ diffuseTexture and opacityTexture taking previously created dynamicTexture. Shortly afterwards I apply it to a new PolygonMeshBuilder method that again takes objects. \n_lt_/p_gt_\n\n_lt_p_gt_\n\tI was hoping that I will mitigate it too by merging meshes but I was wrong. The same number is replicated all over again in various axes. \n_lt_/p_gt_\n\n_lt_p_gt_\n\tWhere is my probable mistake?\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThanks\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"JohnK","Date":"2018-04-03T17:34:04Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tHi and welcome to the forum. It would be very helpful if you could produce a simple playground to show the problem.\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-04-04T08:34:55Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tThank you very much. I will try to put up something afterwards but this is how it rolls generally_dd_\n_lt_/p_gt_\n\n_lt_div style_eq__qt_background-color_dd_rgb(255_co_255_co_254)_sm_font-size_dd_14px_sm__qt__gt_\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_for_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_(_lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_var_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ i _eq_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#09885a_sm__qt__gt_0_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__sm_ i &lt_sm_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#09885a_sm__qt__gt_10_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__sm_ i++) {_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#008000_sm__qt__gt_// Ver_eq_[{X_dd_sth_sm_Y_dd_sth_sm_Z_dd_sth_sm_}_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_       designName(location)_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_}_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_function_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ designName(location)_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_{_lt_/span_gt_ \n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_let_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ text _eq_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_new_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ BABYLON.DynamicTexture(_lt_/span_gt__lt_span style_eq__qt_color_dd_#a31515_sm__qt__gt__qt_top_qt__lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ { width_dd_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#09885a_sm__qt__gt_256_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ height_dd_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#09885a_sm__qt__gt_256_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ invertY_dd_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_true_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ }_co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_this_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_.scene_co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_true_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_)_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_text.hasAlpha _eq_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_true_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_text.drawText(location.Description_co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#09885a_sm__qt__gt_50_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#09885a_sm__qt__gt_100_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#a31515_sm__qt__gt__qt_bold 50px Arial_qt__lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ BABYLON.Color3.Black().toHexString()_co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#a31515_sm__qt__gt__qt_transparent_qt__lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_)_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t \n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_let_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ mText _eq_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_new_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ BABYLON.StandardMaterial(_lt_/span_gt__lt_span style_eq__qt_color_dd_#a31515_sm__qt__gt__qt__qt__lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_this_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_.scene)_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_mText.diffuseTexture _eq_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_text_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div_gt_\n\t\t_lt_span style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_mText.opacityTexture _eq_ _lt_/span_gt__lt_font color_eq__qt_#0000ff_qt__gt_t_lt_/font_gt__lt_span style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_ext_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_mText.useAlphaFromDiffuseTexture _eq_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_true_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t \n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_let_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ name _eq_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_new_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ BABYLON.PolygonMeshBuilder(_lt_/span_gt__lt_span style_eq__qt_color_dd_#a31515_sm__qt__gt__qt__qt__lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ location.Vertexes_co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_this_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_.scene).build()_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_name.material _eq_ mText_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_name.material.freeze()_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_locationsNames.push(name)_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_if_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_ (optimizationOn) _lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_{_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_this_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_.scene.removeMesh(nome)_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_}_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_}_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div_gt_\n\t\t_lt_span style_eq__qt_color_dd_rgb(0_co_0_co_255)_sm__qt__gt_if_lt_/span_gt__lt_span style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_ (_lt_/span_gt__lt_font color_eq__qt_#0000ff_qt__gt_locations_lt_/font_gt__lt_span style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_.length !_eq__eq_ _lt_/span_gt__lt_span style_eq__qt_color_dd_rgb(9_co_136_co_90)_sm__qt__gt_0_lt_/span_gt__lt_span style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_) {_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_BABYLON.Mesh.MergeMeshes(locationsNames_co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_true_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt__co_ _lt_/span_gt__lt_span style_eq__qt_color_dd_#0000ff_sm__qt__gt_true_lt_/span_gt__lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_)_sm__lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t_lt_span style_eq__qt_color_dd_#000000_sm__qt__gt_}_lt_/span_gt_\n\t_lt_/div_gt_\n\n\t_lt_div style_eq__qt_color_dd_rgb(0_co_0_co_0)_sm__qt__gt_\n\t\t \n\t_lt_/div_gt_\n_lt_/div_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"JohnK","Date":"2018-04-04T10:42:48Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tCiao_co_ lei è italiano? _lt_span lang_eq__qt_it_qt_ xml_dd_lang_eq__qt_it_qt__gt__lt_span_gt_Imparo l_t_italiano ma conosco molto poco_lt_/span_gt__lt_/span_gt__lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tAre you trying to do something similar to this?\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_img class_eq__qt_ipsImage ipsImage_thumbnailed_qt_ data-fileid_eq__qt_17790_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/monthly_2018_04/ret.png.0f4b808be9dcc28002c5b6d48d0e6b2d.png_qt_ alt_eq__qt_ret.png.0f4b808be9dcc28002c5b6d48d0e6b2d.png_qt_ /_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tIf not please make a picture to show what you want.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tNote a merged mesh does not merge materials. When you merge meshes the material for the merged mesh is the material of the first mesh.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tIf you want to group the meshes together so that they move as one then use _lt_a href_eq__qt_http_dd_//doc.babylonjs.com/how_to/transformnode_qt_ rel_eq__qt_external nofollow_qt__gt_transformNode_lt_/a_gt_ as a parent\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-04-04T12:00:37Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tThanks for your prompt reply and idea_co_ I was not aware of that fact_co_ I know realize where my problem lies. Nope it is just related to the fact that I got tons of same text all over again due to fact that you outlined(look at the image). \n_lt_/p_gt_\n\n_lt_p_gt_\n\tI tried to quickly change the name of the variables in English and result was pretty hilarious. _lt_img alt_eq__qt__dd_D_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_biggrin.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/biggrin@2x.png 2x_qt_ title_eq__qt__dd_D_qt_ width_eq__qt_20_qt_ /_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tNon sono Italiano_co_ vivo in Italia(sono Serbo). Anch_t_io non sono molto bravo(pensavo se siamo allo stesso livello) ma si impara con tempo_co_ in realtà è davvero facile. Se serve a Lei ho tanti _qt_materiali_qt_ in Inglese per imparare_co_ posso inviarli in DM. \n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\tEDIT_dd_ \n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_span_gt_ _lt_/span_gt_I_t_ve tried both with your and parent method. Parent_eq_&gt_sm_ createInstance _eq_&gt_sm_delete sort of worked but again I get bad FPS. _lt_span_gt_ _lt_/span_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a class_eq__qt_ipsAttachLink ipsAttachLink_image_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/uploads/monthly_2018_04/image.png.dd7c2fd140d2612fb696e0a777f3ddc3.png_qt_ data-fileid_eq__qt_17792_qt_ rel_eq__qt__qt__gt__lt_img alt_eq__qt_image.png_qt_ class_eq__qt_ipsImage ipsImage_thumbnailed_qt_ data-fileid_eq__qt_17792_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/monthly_2018_04/image.png.dd7c2fd140d2612fb696e0a777f3ddc3.png_qt_ /_gt__lt_/a_gt_\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"JohnK","Date":"2018-04-05T08:56:18Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tA picture showing what you want to achieve or better still a playground would help us help you._lt_span_gt_ _lt_/span_gt_\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-04-05T12:20:30Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tThanks for your kind response. It is a bit difficult to replicate the playground. There_t_s a picture that has been attached. Essentially my problem is that I cannot merge all these different letters like you_t_ve already said _lt_span style_eq__qt_background-color_dd_#ffffff_sm_color_dd_#353c41_sm_font-size_dd_14px_sm__qt__gt__lt_span_gt_ _lt_/span_gt_the material for the merged mesh is the material of the first mesh. Hence I get replicated R1ones all over the place. _lt_/span_gt_\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"JohnK","Date":"2018-04-05T16:38:26Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tThe following playgrounds are an attempt to produce a lot of labels with different text on with a fast fps. To do this I used the solid particle system for #1 and #2 using a dynamicTexture and for #3 an external image.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tIn both #1 and #2 I created a dynamic texture and used a loop to fill it with numbers_co_ each number being in a cell of the same size. I then created a plane in proportion to the cell size_co_ built an SPS where each particle is a copy of this plane. By adjusting the particle uvs by mapping the index of the  particle to its position on the dynamicTexture I created labels for each number. PG #1 show these particles arranged in order. PG #2 shows that you can position each label (particle) as you want.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tHowever increasing the numbers by using even 30 * 30 seemed to slow down the production of the dynamicTexture too much. So using Excel I created an image of 44 * 44 numbers (obtaining its width and height from checking the image properties) and used this to create an SPS of 1916 labels in PG #3. You can see that the fps is quite good. Because of the quick way I obtained the image I was not able to use one with a transparent background but this should be possible. Hope that this technique can be used to produce what you need.\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_https_dd_//www.babylonjs-playground.com/#6WSFI8%231_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//www.babylonjs-playground.com/#6WSFI8#1_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_https_dd_//www.babylonjs-playground.com/#6WSFI8%232_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//www.babylonjs-playground.com/#6WSFI8#2_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_https_dd_//www.babylonjs-playground.com/#6WSFI8%233_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//www.babylonjs-playground.com/#6WSFI8#3_lt_/a_gt_\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-05-04T07:39:45Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tI have tried to apply some suggestions and I have looked a bit into the official guide and there it says that if I am building immutable things(which I am) I should stop after SPS.buildMesh. \n_lt_/p_gt_\n\n_lt_p_gt_\n\tBut at the end all I get is flickering texture.\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_https_dd_//playground.babylonjs.com/#LE1BSK%2313_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//playground.babylonjs.com/#LE1BSK#13_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI am probably missing something..\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThanks\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"JohnK","Date":"2018-05-04T11:18:38Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tStill want to solve the flickering without re-positioning. Until a couple of days ago I thought it was the only solution then I came across _lt_a href_eq__qt_http_dd_//doc.babylonjs.com/how_to/multi_scenes_qt_ rel_eq__qt_external nofollow_qt__gt_multi-scenes_lt_/a_gt_  so tried this as a solution _lt_a href_eq__qt_https_dd_//playground.babylonjs.com/#LE1BSK%2314_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//playground.babylonjs.com/#LE1BSK#14_lt_/a_gt_ which seems to be a possible solution.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tAlso came across this thread\n_lt_/p_gt_\n_lt_iframe allowfullscreen_eq__qt__qt_ data-controller_eq__qt_core.front.core.autosizeiframe_qt_ data-embedcontent_eq__qt__qt_ data-embedid_eq__qt_embed8542078048_qt_ scrolling_eq__qt_no_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/topic/37129-texture-flickerssolved/?tab_eq_comments&amp_sm_do_eq_embed&amp_sm_comment_eq_212867&amp_sm_embedComment_eq_212867&amp_sm_embedDo_eq_findComment#comment-212867_qt_ style_eq__qt_height_dd_254px_sm_max-width_dd_502px_sm__qt__gt__lt_/iframe_gt_\n\n_lt_p_gt_\n\twhich might or might not offer you a solution.\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-05-04T12:11:45Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tThat problem does not bother me that much anymore_co_ I have resolved it within the acceptable limits although I will try this method thank you very much. The problem I am having right now is performance related. Essentially I have some problems with understanding of how SPS works. \n_lt_/p_gt_\n\n_lt_p_gt_\n\tI want to achieve the following results (_lt_a href_eq__qt_https_dd_//playground.babylonjs.com/#LE1BSK%239_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//playground.babylonjs.com/#LE1BSK#9_lt_/a_gt_)where all locations and names meshes are within the SPS mesh. Here I tried to resolve the problem using your methods but I fail_dd_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_https_dd_//playground.babylonjs.com/#LE1BSK%2313_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//playground.babylonjs.com/#LE1BSK%2313_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI would be really grateful for any help because by using the merge mesh method I have long load times(with lots of locations) and that is quite an irritating.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThanks again John\n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\tP.S I have tried the new solution and it resolved flickering . Thank you very much for finding it.\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"JohnK","Date":"2018-05-04T13:33:45Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tWill help with SPS when I am a bit clearer on why you want a multitude of labels. In your PGs they are just put together as one large rectangle. At some point will you want them to separate? That cannot be true as you are merging them. Do you just want a way of writing a range of text on a dynamicTexture?\n_lt_/p_gt_\n\n_lt_p_gt_\n\tHere is a way to write labels with dynamicTexture _lt_a href_eq__qt_https_dd_//playground.babylonjs.com/#3M37JC%233_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//playground.babylonjs.com/#3M37JC#3_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tAlso GUI might be another possibility_co_ check out _lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/5733-wingnut/?do_eq_hovercard_qt_ data-mentionid_eq__qt_5733_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/5733-wingnut/_qt_ rel_eq__qt__qt__gt_@Wingnut_lt_/a_gt__t_s solutions in this _lt_a href_eq__qt_http_dd_//www.html5gamedevs.com/topic/37324-dynamic-texture-text-rotation/_qt_ rel_eq__qt__qt__gt_thread_lt_/a_gt_\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-05-04T14:34:49Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tI will try to be more precise this time. From the server I always get this Location object from server through which I iterate and merge all of them in order to achieve better performance. The problem occurs when there are many locations and obviously they increase (they are all purged and then _qt_re- rendered_qt_ on each reload). Each location should have this Descrizione property value in the form of mesh _qt_nome_qt_(it is not just R1_co_ it may include additional text) directly  embedded on this large rectangle respecting its borders. \n_lt_/p_gt_\n\n_lt_p_gt_\n\tHence location rectangle should contain this text description_co_ I can_t_t put them into one large plane because of the vertices and their boundaries that I have to respect.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI will try to look at the suggestion but for the moment being I just want to have locations in the SPS_co_ maybe I could solve name when that part becomes a bit clearer.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThanks\n_lt_/p_gt_\n\n_lt_p_gt_\n\tP.S\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI will try to use multi materials to set nome texture for locations mesh.\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"JohnK","Date":"2018-05-04T21:05:33Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tOK not there yet_co_ lot of work to do on sizing  and positioning and I have simplified and removed the grid but hopefully getting close to what you need and something for you to work with\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_https_dd_//playground.babylonjs.com/#LE1BSK%2315_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//playground.babylonjs.com/#LE1BSK#15_lt_/a_gt_\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-05-06T16:07:11Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tThank you very much. I hope I will get it running by  the end of the night!!\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-05-07T14:51:01Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tEssentially out of the box already everything is working(I just removed unnecessary positioning) but I think that I may have pushed the system to its boundaries...\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI got this dreadful black texture all over the place once I get over the certain number of location. You can see the code in the attachment just paste it in the playground(I can_t_t save it it is too big). Locations are already set in the right order but there is this issue.. I have tried all sort of things but none is functioning(I also could not find anyone with my problem). \n_lt_/p_gt_\n\n_lt_p_gt_\n\tThanks again for this\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a class_eq__qt_ipsAttachLink_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/applications/core/interface/file/attachment.php?id_eq_18155_qt_ data-fileid_eq__qt_18155_qt_ rel_eq__qt__qt__gt_playground.html_lt_/a_gt_\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"JohnK","Date":"2018-05-08T08:53:11Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tThe issue is that the width of the dynamicTexture is too big. If you reduce the fontsize to 12\n_lt_/p_gt_\n\n_lt_pre_gt_\n_lt_code_gt_let fontsize _eq_ _qt_12_qt__sm__lt_/code_gt__lt_/pre_gt_\n\n_lt_p_gt_\n\tthen you will get the labels.\n_lt_/p_gt_\n\n_lt_p_gt_\n\t[EDIT just found this that you could use to get more accurate positioning when placing text _lt_a href_eq__qt_https_dd_//developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/measureText_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/measureText]_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_pre_gt_\n_lt_code_gt_var expWidth _eq_ Math.ceil(Math.log10(totalWidth)/Math.log10(2))_sm_\nvar expLatitude _eq_ Math.ceil(Math.log10(totalAltitude/Math.log10(2)))_sm_\nvar expHeight _eq_ Math.ceil(Math.log10(fontsize)/Math.log10(2))\nwidth _eq_ Math.pow(2_co_ expWidth)_sm_\nheight _eq_ Math.pow(2_co_ expHeight)_sm_\naltezza _eq_ Math.pow(2_co_ expLatitude)_sm__lt_/code_gt__lt_/pre_gt_\n\n_lt_p_gt_\n\tThe reason for setting the width and height as a power of 2 is because the dynamicTexture sets the width and height to powers of 2 since you have generateMinMaps set to true (variable after scene)\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//doc.babylonjs.com/api/classes/babylon.dynamictexture#constructor_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//doc.babylonjs.com/api/classes/babylon.dynamictexture#constructor_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tand the only way to make sure you position the text correctly on the dynamicTexture and relate to the uv values is to have the width and height you set for it not to be changed by the constructor_co_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tEg if you set the width to 100  or to 130 with generateMinMaps _eq_ true then the actual width of the dynamicTexture will be 128. The alternative would be to read the actual width and height of the dynamicTexture after construction and change width and height to these values. Just  make sure that width and height were rounded up and not down.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tSince the dynamicTexture has only two dimensions I am not sure why you need altezza to be a power of 2?\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThis is why I said\n_lt_/p_gt_\n\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\tQuote\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\tlot of work to do on sizing  and positioning\n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tsince changing fontsize changes sizing and proportion. You do not have to use * fontsize_co_ you could use a fraction for some fraction so * fonsize * fraction\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI placed all the text on one row of the dynamicTexture since this is easiest to do. You could take the number of locations find its square root and split into rows and columns_co_ say there were 120 locations_co_ sqrt is 10.999_co_ integer part is 10 so 120/10 _eq_ 12 so say 12 columns and 10 rows. For each row calculate the totalRowWidth and totalWidth would be the maximum of those. The totalHeight would be rows * fontsize. Then you can write 12 locations per row changing the  _t_y_t_ value per row. This MAY stop the issue.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tBy the way I still do not have a direct answer to this question.\n_lt_/p_gt_\n\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentapp_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_213771_qt_ data-ipsquote-contentid_eq__qt_36826_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1525440825_qt_ data-ipsquote-userid_eq__qt_14282_qt_ data-ipsquote-username_eq__qt_JohnK_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\tOn 5/4/2018 at 2_dd_33 PM_co_ JohnK said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\tWill help with SPS when I am a bit clearer on why you want a multitude of labels. In your PGs they are just put together as one large rectangle. At some point will you want them to separate? That cannot be true as you are merging them. Do you just want a way of writing a range of text on a dynamicTexture?\n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tIf the answer is just a rectangle then the above method of extending the rows could mean that the dynamic texture created could just be used as the material for one plane.\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-05-10T06:30:57Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tThank you very much and sorry for not answering_co_  I am a bit busy this week. Will update you asap about results. \n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Mrso92","Date":"2018-05-14T10:21:42Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tI was looking for something to improve a look and help me orientate more precisely  within the system so I have tried to add an hole to the locations(transparent). Something like this_dd_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_img class_eq__qt_ipsImage ipsImage_thumbnailed_qt_ data-fileid_eq__qt_18278_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/monthly_2018_05/image.png.bdba80b253a939ca7d3fea20d0a73468.png_qt_ alt_eq__qt_image.png.bdba80b253a939ca7d3fea20d0a73468.png_qt_ /_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI was wondering whether or not there is some method to this within one dynamic material or I need to create an two types of materials standard one and dynamictexture.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThanks again\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"}]