Kitely battles slow-loading meshes

A mesh model imported into OpenSim.
A mesh model imported into OpenSim.

A complex mesh object can significantly slow down the loading of a region — as much as ten minutes, in some cases, according to Oren Hurvitz, co-founder and VP of R&D at Kitely.

That’s a significant problem for Kitely in particular because the grid’s regions are all loaded on demand. They are based in the Amazon cloud, and are shut down when nobody is using them. They are loaded back up again whenever anyone teleports in. Any delay in loading creates usability problems.

In the past, owners of these regions would get notified about the problem so that they could either simplify the mesh object, or make it phantom.

Oren Hurvitz
Oren Hurvitz

“But this took a lot of work both on our part, and on the world owner’s part, who had to track down all of the objects and fix them,” said Hurvitz in an announcement today.

So now, Kitely will automatically turn any object phantom if it takes more than 1.5 seconds to load, then send an email to the owner telling them what happened.

“If the world owner prefers to optimize their physics meshes and make the objects non-phantom then they can easily locate the objects in-world,” he said.

Phantom objects are visible but ghostly — they don’t interact with the physical world around them. As a result, there is no need for its physics properties to be calculated.

Ozwell Wayfarer’s Worlds End Landscaping and Roleplay store on the Kitely Market is one that offers a variety of mesh objects.

“It is absolutely the merchants responsibility to make sure what they sell is optimized to the best of their ability,” Wayfarer said in a comment. “You won’t find any Worlds End products getting switched to phantom… and if I was ever proved wrong, you bet I would fix it ASAP.”

He also offered some tips for optimizing regions in a Tips for better world building forums post and in How to correctly upload mesh.

In other news today, Kitely raised the limit off offline messages from 25 to 50, and fixed a problem with the llRequestURL script command.

Maria Korolov