国产化自己绊自己?

seanwhy · 5 小时前 · 2783 次点击
今天闲来无事,详细说说适配国产化过程中的一些事。
话说自从用上 webassembly 技术后,我们原来的老 C++开发的引擎又焕发第二春了,在各类平台上运行的都还好。后面就有客户提出在银河麒麟 V10 上使用我们的产品,当时显卡还是用的英伟达,一切也相安无事。
后来不知道哪位领导提的,要试试某国产显卡,就叫他 M 好了,高端的性能据说能玩黑悟空,企业用的是中低端,个人体感打个 1030-1050 差不多。
这时候幺蛾子就来了。该显卡宣称支持 opengl4.x ,opengles3 ,理论上咱也能跑是吧。可现实就是,麒麟自带的 360 安全浏览器、奇虎浏览器,均能正常运行我们的程序,可是在 chromium 上,或者 electron 上,就提示图形环境缺失,用检测网站测试也显示 webgl2 不支持。
第一感觉就是 360 做了手脚,其次国产显卡厂商驱动适配的也不好。正常逻辑其实就是反馈给厂家,让厂家适配 chromium 系。结果厂家挺强硬:目前没资源,其次我们仅支持国产化,也就是 360 等国内厂商浏览器支持就行了,chromium 是国外软件,也不用支持,巴拉巴拉。
后面没办法,心想 360 能跑,咱改一下 chromium 源码,应该大差不差。于是哼哧哼哧折腾,调试后就发现了好玩的事情。
主要原因就是 M 显卡驱动的一个 gl 查询函数返回了异常的时间戳,这个在 chromium 端会直接因为这个问题导致 GPU 环境初始化失败,然后 chromium 会使用自己的 EGL 环境去替代。这也导致了上面的问题。
这个函数看起来也不是很难实现的函数,M 显卡出于什么考量不去做兼容适配,这是其一。
360 为何默认强制启用了 opengl 渲染模式,而不是按照 chromium 正常逻辑走 egl ,且修改了这个初始化异常的 bug ,也就是模拟给予时间戳,这是其二。
从显卡厂商考虑,提高其兼容性应是其首要目标,但为何不去做这个看起来很简单的适配;从 360 考虑,硬件的缺陷不应该通过软件方式修复,不然谷歌为何一直不修复这个看似很简单的问题。
联想一下,得出结论,国产自己绊自己脚?或者说是变相的保护主义?
举报· 2783 次点击
登录 注册 站外分享
26 条回复  
murmur 小成 5 小时前
国产化目前就=java+web ,你那个超纲了,还是老老实实 native 开发吧
uqf0663 初学 5 小时前
“但为何不去做这个看起来很简单的适配” 其实就是公司人多,真正干活的人不知道你这个问题,跟你对接的人又傲慢或者内部信息不通畅,没有反馈到真正干活的人那里去。 类似的事情我是搞电商的,有很多小问题其实都不难处理,但是客户只能找客服,客服又傻,老是随便应付,每次都得遇到一些较真的人,各种投诉把事情闹大后问题才有可能反馈到我这来,等我去从头核实一遍情况的时候只能卧槽。 政府机构也有类似的情况,基层有问题随便应付,高层完全不知道下面发生了啥事情。
xking 该用户已被删除 5 小时前
提示: 作者被禁止或删除 内容自动屏蔽
moooxin 小成 5 小时前
作为以身入局的国产化螺丝旋转工程师,我只能说现在国产化大部分 项目 的 第一目标 都是: 先验收通过!!! 至于其他的,兼容?标准化? 不在考虑范围。
macaodoll 小成 5 小时前
硬件层级确实如一楼所说,超纲了,目前国产化的任何硬件都有坑,任何.
miaomiaotu 初学 5 小时前
莫比国产化,只不过套壳子,底层都是开源那一套,
kangyue9999 小成 5 小时前
估计没有资源是真的没资源,毕竟国产化现在需求是刚需,满足刚需肯定是活下去的第一要务
codehz 初学 5 小时前
显卡驱动有 bug 不是很常见的事情吗,谁来修的问题主要看谁强势,你看 chrome://gpu 里一大堆 Driver Bug Workarounds/Problems Detected 就知道 chrome 给那些各种各样显卡的 bug 擦了多少屁股了
Fule 小成 5 小时前
想起来刚入行的时候前辈常说的一句话:“先跑起来再说”
123下一页
返回顶部