{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516299204,"data":{"id":71711939,"title":"2.4.6.1 创建多个渲染设备","slug":"sw2v7t","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

创建多个渲染设备,比较场景的为包括主屏、仪表盘、HUD、后座屏、车镜等。将带来更加智能化和安全化的交互体验。如可以在多个屏幕中显示不同的内容,如不同的比例尺,不同的俯仰角状态等。可以不同用户关注不同的信息。

开启多屏渲染的消耗会相应的增加,以车机+1扩展屏为例,每增加1个扩展屏,渲染相关性能需要至少增加1倍。


场景图

\"screenshot.png\"

时序图

地图服务初始化

创建

关键参数

主屏参数

副屏参数

核心接口

// 创建\nMapDevice com.autonavi.gbl.map.MapService.createDevice(\n    @EGLDeviceID.EGLDeviceID1 int shareDeviceId,\n    DeviceAttribute deviceAttr,\n    IDeviceObserver pIDeviceObserver \n)\n\n// 创建视图\nMapView com.autonavi.gbl.map.MapService.createMapView(\n    MapViewParam param,\n\tIBLMapViewProxy mapViewProxy,\n\tIBLMapEngineObserver mapEngineObserver,\n\tIBLMapBusinessDataObserver mapBusinessDataObserver,\n\tIAnimationObserver animationObserver \n)

   说明:函数详情,请复制函数名称到在线API搜索

调用示例

// 创建虚拟设备\nDeviceAttribute devAttribute = new DeviceAttribute();\ndevAttribute.isNeedAntialias = true;\ndevAttribute.samples = 4;\ndevAttribute.uiTaskDeviceId = EGLDeviceID.EGLDeviceIDExternal1;  // 需要指定\nmapDevice = mapService.createDevice(EGLDeviceID.EGLDeviceIDDefault, devAttribute, this);\nmapDevice1 =  mapService.createDevice(EGLDeviceID.EGLDeviceIDExternal1, devAttribute, this);\n\n// 创建渲染视图\nMapViewParam mapViewParam = new MapViewParam();\nmapViewParam.deviceId = mapDevice.getDeviceId();\nmapViewParam.engineId = MapEngineID.MapEngineIdMain;\nmapViewParam.x = 0;\nmapViewParam.y = 0;\nmapViewParam.width = AutoConstant.mScreenWidth;\nmapViewParam.height = AutoConstant.mScreenHeight / 2;\nmapViewParam.screenWidth = AutoConstant.mScreenWidth;\nmapViewParam.screenHeight = AutoConstant.mScreenHeight / 2;\nmapViewParam.cacheCountFactor = 2.0F;\nmapViewParam.mapProfileName = "mapprofile_1";\n\nmapView = mapService.createMapView(mapViewParam, new IBLMapViewProxy() {\n    @Override\n    public void reloadMapResource(long l, byte[] bytes, int i) {\n\n    }\n\n    @Override\n    public void requireMapRender(long engineId, int needFrames, int adviseFPS) {\n        if (null != mapDevice) {\n            mapDevice.resetTickCount(needFrames);\n        }\n    }\n\n    @Override\n    public byte[] requireMapResource(long l, MapResourceParam mapResourceParam) {\n        return MapHelper.getMapAssetHelper().requireResource(CC.getApplication(), mapResourceParam);\n    }\n\n    @Override\n    public void onMapLogReporter(long l, int i, int i1, String s) {\n\n    }\n\n    @Override\n    public void onSendBehaviorLog(long l, String s, String s1, String s2) {\n\n    }\n\n},\n                                   null,\n                                   null,\n                                   null);\n\nmapViewParam.deviceId = mapDevice1.getDeviceId();\nmapViewParam.engineId = MapEngineID.MapEngineIdEx1;\n\nmapView1 = mapService.createMapView(mapViewParam, new IBLMapViewProxy() {\n    @Override\n    public void reloadMapResource(long l, byte[] bytes, int i) {\n\n    }\n\n    @Override\n    public void requireMapRender(long engineId, int needFrames, int adviseFPS) {\n        if (null != mapDevice) {\n            mapDevice.resetTickCount(needFrames);\n        }\n    }\n\n    @Override\n    public byte[] requireMapResource(long l, MapResourceParam mapResourceParam) {\n        return MapHelper.getMapAssetHelper().requireResource(CC.getApplication(), mapResourceParam);\n    }\n\n    @Override\n    public void onMapLogReporter(long l, int i, int i1, String s) {\n\n    }\n\n    @Override\n    public void onSendBehaviorLog(long l, String s, String s1, String s2) {\n\n    }\n\n},\n                                    null,\n                                    null,\n                                    null);\n\n//将地图资源设置给View\nglMapSurface.setMapService(mapService);\nglMapSurface.setDefaultDevice(mapDevice);\nglMapSurface.setDefaultMapView(mapView);\n\nglMapSurface1.setMapService(mapService);\nglMapSurface1.setDefaultDevice(mapDevice1);\nglMapSurface1.setDefaultMapView(mapView1);
","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:01:24","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":205,"collectCount":0,"estimateDate":9,"docStatus":0,"permissions":true,"overView":false}}