编程黑洞网
首页
编程
数据库
代码审查
网络应用
Android
wordpress
软件推荐
软件工程
逆向工程
信息安全
软件质量测试
地理信息
密码学
网站管理员
元堆栈交换
网络工程
操作系统
Ubuntu
计算机
Unix和Linux
服务器故障
Vi和Vim
运维
物联网
机器人
树莓派
计算机图形学
信号处理
代码在不同的硬件上运行方式不同
计算机图形学
|
2021-01-09
|
编程黑洞网
|
0条评论
|
409 人阅读
一段时间以前,我在OpenGL中编写了2D流体求解器(代码在此处)。
虽然它可以在我的板载Intel GPU上完美运行,但当使用相同的代码运行时,模拟很快就会“崩溃”。
nvidia卡:
在第二张图片中,流体正在“添加”到系统中,并且也在“扩散”中,但是与第一张图片不同,没有平流。
我想知道是什么原因造成的。难道是因为不同的供应商对标准的理解不同?
PS:“红色”和“绿色”分别代表x和y方向上矢量场的大小。
评论
IHV实现之间肯定存在差异。这可能是由于驱动程序错误,对标准歧义性的不同解释,甚至可能是编译器如何处理浮点算术等方面的差异。需要进行一些更详细的调试才能了解发生了什么。
@NathanReed,什么样的信息会有所帮助?
首先像其他任何图形/着色器问题一样对其进行调试。隔离每个遍历,查看在哪个遍历中引入了错误,然后隔离着色器中哪里出了问题。
如果您使用每帧可变的时间步长,这可能是一个vsync问题。
您是否在使用任何依赖于供应商的GLSL函数,例如noise *(据我所知,大多数供应商都没有实现)?
透视正确的纹理贴图
如何使用OpenGL处理错误?
标签列表
java
(11)
r
(3)
r-faq
(3)
javascript
(17)
jquery
(3)
asynchronous
(2)
php
(17)
mysql
(7)
sql
(3)
html
(2)
regex
(2)
arrays
(2)
variables
(3)
warnings
(2)
language-agnostic
(2)
c++
(9)
c++-faq
(8)
parsing
(2)
debugging
(5)
c
(3)
error-handling
(3)
python
(10)
pandas
(3)
android
(3)
list
(3)
最近发表
IP地址错误的错误掩码
在Cisco IOS中自动进行配置备份(每分钟)
VRRP和HSRP有什么区别?
IP地址如何映射到MAC地址?
网站可以识别我的MAC地址吗?
在STP中如何选择根桥?
为什么要使用三根以太网电缆将交换机连接到路由器?
为什么10.1.255.255是无效的广播地址?
为什么将IP地址分配给每个接口而不是设备?这将意味着什么?
为什么Visual Studio 2013不愿意运行我的Web性能/负载测试?
对测试代码了解太多会不利吗?
如何隔离错误?
如何使用Selenium和WebDriver清除localStorage
评估测试项目
我如何说服管理层我们需要一个正式的质量保证部门?
FluentWait与WebDriverWait有何不同?
简历和求职建议-从开发到测试的职业转变
您如何等待Selenium 2中的jQuery Ajax调用完成
在持续开发下测试应用程序
Selenium的页面加载默认超时是多少?
IT项目中软件测试的真正商业价值是什么?
系统测试与系统集成测试(SIT)有何不同?
如何找到我们的“质量保证流程”的弱点?
测试人员应如何处理生产中发现的错误?
如果我不使用TDD但想过渡到敏捷,那我应该回去创建那些单元测试吗?
代码覆盖率和测试覆盖率有什么区别?
当团队想要忽略关键但难以重现的错误时,我应该如何应对
测试人员应该修复错误吗?
审核测试自动化代码的良好实践
质量检查人员应该能够编写测试代码吗?
随机文章
如何更改计算机名称?
使用innodb_flush_log_at_trx_commit = 2是否安全?
C语言的终极井字游戏
为什么3D Studio中的平滑网格最终得到相同数量的顶点/三角形?那么如何用相同的几何形状对它们进行平滑处理?
Google+是否可用于Google Apps帐户?
为什么数据投影相关?
Git Fugitive如何git添加视觉选择的代码块
我的设备何时会获得Android 5.0更新(Lollipop)?
WordPress何时清除数据库中的“ post_content_filtered”列?
One Time Pad(OTP)如何完全安全?
评论
IHV实现之间肯定存在差异。这可能是由于驱动程序错误,对标准歧义性的不同解释,甚至可能是编译器如何处理浮点算术等方面的差异。需要进行一些更详细的调试才能了解发生了什么。@NathanReed,什么样的信息会有所帮助?
首先像其他任何图形/着色器问题一样对其进行调试。隔离每个遍历,查看在哪个遍历中引入了错误,然后隔离着色器中哪里出了问题。
如果您使用每帧可变的时间步长,这可能是一个vsync问题。
您是否在使用任何依赖于供应商的GLSL函数,例如noise *(据我所知,大多数供应商都没有实现)?