本サイトでは、アフィリエイト広告およびGoogleアドセンスを利用しています。

GALAXY Tab S 8.4を開発者目線で調べてみた

先日8月頭に発売された GALAXY Tab S 8.4(SM-T700 すなわちWiFiモデル) を調べてみました。基本的なことは各所のサイトで紹介されていると思いますので、ここではプログラマ目線で個人的に気になることを調べてみました。

初期状態でのOSは Android 4.4.2 です。
搭載しているプロセッサは、Samsung Exynos 5420 (Cortex-A7 x4 1.3GHz + A15 x4 1.9GHz) オクタコアです。
またこの中に入っている GPU は Mali-T628 となっています。
注意すべき点は、LTEモデルだとこのあたりが変わっていて、Snapdragon 800, Adreno330 となります。
画面解像度は、 2560×1600 WQXGA となっています。

個人的に、Snapdragon 800(Adreno330)は割と主流の流れなので、ここでは貴重なMali 6xx搭載の Wifiモデルを選ぶのがよさそうに思います。というか、GPUが他と違い珍しいので惹かれます。

さて、開発者として個人的に気にしている点が、このブログでも何度か登場しているNDKで開発してのネイティブデバッグができるか(ndk-gdbが使用可能であるか?)と、OpenGL ESの拡張はどのくらい、どんなものを備えているか、です。

ndk-gdb

サンプルのhello-jniでndk-gdbを起動させてみました。
結果はうまく動いていました。このあたりはさすがGalaxyシリーズと言ったところでしょうか。
この時点で開発用途には、現役で使えそうです。

OpenGL(ES)のExtension

この環境でエクステンションを取得してみました。GPUとOSからOpenGL ES 3.0だと思いますので期待できそうです。

GL Vendor = ARM
GL Renderer = Mali-T628

GL_EXT_debug_marker
GL_ARM_rgba8
GL_ARM_mali_shader_binary
GL_OES_depth24
GL_OES_depth_texture
GL_OES_depth_texture_cube_map
GL_OES_packed_depth_stencil
GL_OES_rgb8_rgba8
GL_EXT_read_format_bgra
GL_OES_compressed_paletted_texture
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_standard_derivatives
GL_OES_EGL_image
GL_OES_EGL_image_external
GL_OES_EGL_sync
GL_OES_texture_npot
GL_OES_vertex_half_float
GL_OES_required_internalformat
GL_OES_vertex_array_object
GL_OES_mapbuffer
GL_EXT_texture_format_BGRA8888
GL_EXT_texture_rg
GL_EXT_texture_type_2_10_10_10_REV
GL_OES_fbo_render_mipmap
GL_OES_element_index_uint
GL_EXT_shadow_samplers
GL_KHR_texture_compression_astc_ldr
GL_KHR_debug
GL_EXT_occlusion_query_boolean
GL_EXT_blend_minmax
GL_EXT_discard_framebuffer
GL_OES_get_program_binary
GL_OES_texture_3D
GL_EXT_texture_storage
GL_EXT_multisampled_render_to_texture
GL_OES_surfaceless_context
GL_ARM_mali_program_binary

このような結果になりました。良くも悪くもARMのGPUといったところでしょうか。テクスチャ圧縮のASTCがサポートされています。残念なのは、float texture に関するサポートがないようにみえるところです。 GL_OES_texture_float などが全く見当たりません。
また、3.0からはマルチレンダーターゲットがサポートされ、ディファードシェーディングもできる!と巷で話がありますが、これではfloat値をレンダーターゲットにできず、そのテクニックが使用不可能です。そもそも OpenGL ES 3.0 で FBO に float テクスチャをセットできるかは “GL_EXT_color_buffer_float” という別の拡張をサポートしているかがキーですが。

こういった特徴から、素のOpenGL ES 3.0 に近いGPUであるといえそうです。どのくらい標準的に普及するかは謎なところですが、テスト機の1台としてはなかなかそさそうには感じています。

AndroidOpenGLプログラミング
すらりんをフォローする
すらりん日記
タイトルとURLをコピーしました