There is no way to show tris count of only visible objects in Blender, however, you can use Python for that.
If you paste this into a new text block in the text editor and hit Run Script, you will have an operator that you can call from the Space menu if you start typing 'Tris Count For Visible Objects'. You can also copy it into a new text file using any text editor that supports UTF-8 encoding, save it to a .py file and install it as an add-on. It checks all objects in the scene and if they are not hidden in the 3d View and are mesh objects, it counts their triangles and then displays the results as info message in the header of the info panel briefly and in the logs of the info panel:
Here is the code:
bl_info = {
"name": "Tris Count",
"author": "Martynas Žiemys",
"version": (1, 0),
"blender": (2, 79, 0),
"location": "Space menu > Tris Count For Visible Objects",
"description": "Counts tris",
"warning": "",
"wiki_url": "",
"category": "Mesh",
}
import bpy
class TrisCount(bpy.types.Operator):
"""Tris Count"""
bl_idname = "scene.tris_count"
bl_label = "Tris Count For Visible Objects"
@classmethod
def poll(cls, context):
return context.scene is not None
def execute(self, context):
tris_count = 0
for o in bpy.context.scene.objects:
if o.type == 'MESH' and not o.hide:
for p in o.data.polygons:
if len(p.vertices) > 3:
tris_count = tris_count + len(p.vertices) - 2
else:
tris_count = tris_count +1
pass
self.report({'INFO'}, 'Tris: ' + str(tris_count))
return {'FINISHED'}
def register():
bpy.utils.register_class(TrisCount)
def unregister():
bpy.utils.unregister_class(TrisCount)
if __name__ == "__main__":
register()