国产化自己绊自己?

16 小时 21 分钟前
 seanwhy
今天闲来无事,详细说说适配国产化过程中的一些事。
话说自从用上 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 考虑,硬件的缺陷不应该通过软件方式修复,不然谷歌为何一直不修复这个看似很简单的问题。
联想一下,得出结论,国产自己绊自己脚?或者说是变相的保护主义?
5799 次点击
所在节点    程序员
44 条回复
murmur
16 小时 20 分钟前
国产化目前就=java+web ,你那个超纲了,还是老老实实 native 开发吧
uqf0663
16 小时 10 分钟前
“但为何不去做这个看起来很简单的适配”
其实就是公司人多,真正干活的人不知道你这个问题,跟你对接的人又傲慢或者内部信息不通畅,没有反馈到真正干活的人那里去。

类似的事情我是搞电商的,有很多小问题其实都不难处理,但是客户只能找客服,客服又傻,老是随便应付,每次都得遇到一些较真的人,各种投诉把事情闹大后问题才有可能反馈到我这来,等我去从头核实一遍情况的时候只能卧槽。
政府机构也有类似的情况,基层有问题随便应付,高层完全不知道下面发生了啥事情。
xking
16 小时 5 分钟前
@uqf0663 同感, 程序员要是能直接看到一线的问题, 不少都能顺手解决了. 我们也只是高频的问题才能得到运营的反馈🤣
客户才是最好的产品经理, 我们的产品也是用户天天用, 哪里顺不顺手, 都是用户感知最强
moooxin
16 小时 1 分钟前
作为以身入局的国产化螺丝旋转工程师,我只能说现在国产化大部分 项目 的 第一目标 都是: 先验收通过!!!
至于其他的,兼容?标准化? 不在考虑范围。
macaodoll
16 小时 0 分钟前
硬件层级确实如一楼所说,超纲了,目前国产化的任何硬件都有坑,任何.
miaomiaotu
15 小时 59 分钟前
莫比国产化,只不过套壳子,底层都是开源那一套,
kangyue9999
15 小时 56 分钟前
估计没有资源是真的没资源,毕竟国产化现在需求是刚需,满足刚需肯定是活下去的第一要务
codehz
15 小时 56 分钟前
显卡驱动有 bug 不是很常见的事情吗,谁来修的问题主要看谁强势,你看 chrome://gpu 里一大堆 Driver Bug Workarounds/Problems Detected 就知道 chrome 给那些各种各样显卡的 bug 擦了多少屁股了
Fule
15 小时 52 分钟前
想起来刚入行的时候前辈常说的一句话:“先跑起来再说”
lxxiil
15 小时 48 分钟前
25 年我们公司刚发的国产处理器笔记本比我刚淘汰下来的 i5 4200u 笔记本还卡,待机插电都会 24 小时发热,远程软件直接花屏,因为缺失对应的编码解码指令集,牛逼透了,我又重新自费买了台二手联想 y7000
anubu
15 小时 44 分钟前
稍微有点蹭国产化的 debuff ,是常规 bug ,但拿国产化标签讨论有点过。
“从显卡厂商考虑,提高其兼容性应是其首要目标”,硬件层面出于各种原因,故意限制其兼容性的例子太多了,所以这个前提有待商榷。从一个通用消费电子产品来说,应该不存在故意,可能更准确的说法是,使用有限的资源在有限的范围内提供兼容性。这个前提下,没有覆盖的场景出现 bug 是可预期的。
“硬件的缺陷不应该通过软件方式修复”,这个不能说错,但上游不修复,下游出个 workaround 算是常规操作吧。
Mark24
15 小时 36 分钟前
需要一个过程
BuffDog
15 小时 34 分钟前
突然想起我自己负责的某个国产化,electron 应用在国产环境上启动白屏,查了一下是显卡渲染失败,最后强制 CPU 渲染才得
thenewland
15 小时 28 分钟前
国际化品牌 苹果 难道不更应该批判?他家做的更绝
liubaicai
15 小时 16 分钟前
toB 项目,能兼容国产浏览器已经不错了,能验收了。信创环境也没人用 chromium 验收,怕啥。但是后真有人用 chromium 直接告诉他只适配了国产浏览器就行了。
DigitaIOcean
15 小时 5 分钟前
2B 为啥要人用 chromium ?
360 不香?
又不是个人项目
isbase
14 小时 57 分钟前
看起来确实垃圾
loading
14 小时 47 分钟前
国产系统是 Linux ,你这个涉及显卡,你不知道 Linus 的 F*k nvidia 吗?
国产变种就更搞不定了。
zizon
14 小时 35 分钟前
首先你得
billlee
14 小时 32 分钟前
> 从显卡厂商考虑,提高其兼容性应是其首要目标

To B 产品故意设置壁垒搞托拉斯才是常态

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1107005

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX