我有一个需要通过远程桌面服务运行的Delphi程序.我应该注意什么会阻止它正常运行?
我一直在考虑这个问题,如果我切换巨大的纹理,而不是用glBindTexture()切换许多稍微小一些的纹理,它是否会使渲染速度变慢?我有这样的想法,每次使用glBindTexture()时,GPU都会将纹理数据复制到更快的内存位置,所以我认为大纹理也需要更长时间才能复制.
但是,我记得以前使用许多小纹理来创建动画,而且在某些gfx卡上它非常慢,但是当我将动画帧放在单个纹理上时,性能却高得惊人.不过,在这两种情况下,我在其他一些gfx卡上都没有性能问题.
那就是说,我应该总是使用最大可能的纹理表面尺寸吗?(如果我不浪费那么多的空纹理空间.)
我可以在instanceof表达式中使用基本类型文字或类型变量吗?
class MyClass<T> {
{
boolean b1 = null instanceof T; // T erasure -> Object should be used
boolean b2 = 2 instanceof Integer; // Incompatible operands
}
Run Code Online (Sandbox Code Playgroud)
我收到了编译错误.有没有办法绕过这些错误并在instanceof表达式中使用原始类型的文字/类型变量?
基本上,我想要放心,不,我永远无法做到这一点.
我正在使用OpenGL渲染API进行游戏.现在我需要在关卡编辑器中.它应该由很多小部件父母/孩子等组成,因此很难用手编写需要的小部件.关于良好的gui系统的任何想法都可以与opengl轻松连接?最重要的部分是gui编辑.我真的需要一些编辑工具.
谢谢
我必须绘制一个包含几千个顶点的缓冲区.我正在使用vbo来存储数据.
我知道我将不得不多次更新VBO - 但一次只能处理一小部分.
所以我想知道这样做的最佳方法是:
glBufferSubData()电话?glMapBuffer()和一个大的VBO?我用gcj-4.4和-o选项编译了一个非常简单的java程序.我在gdb-7.2中加载它并尝试进行一些调试.我注意到我可以在int类型中打印变量,但我无法打印int数组.我收到此错误消息:
(gdb) p orderFinish[0]
cannot find java.lang.Object
(gdb) p (int)orderFinish
$8 = -136261440
(gdb) p orderFinish[3]
cannot find java.lang.Object
(gdb) p in
$9 = 1
(gdb) whatis orderFinish
type = int[]
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何在gdb中打印Java数组?我的操作系统是openSUSE-11.1 x64-86bit.谢谢!
可能重复:
为什么我不能使用带显式运算符的接口?
当我这样做:
public struct Effect
{
public IEffect IEffect { get; private set; }
public Effect ( IEffect effect )
{
this.IEffect = effect;
}
public static implicit operator IEffect ( Effect effect )
{
return effect.IEffect;
}
public static explicit operator Effect ( IEffect effect )
{
return new Effect ( effect );
}
}
Run Code Online (Sandbox Code Playgroud)
我得到这样的编译器错误:
'ImageEditor.Effect.implicit operator ImageEditor.IEffect(ImageEditor.Effect)':不允许在接口之间进行用户定义的转换.
他们为什么不被允许?这不是一个好习惯吗?
我有一个方法返回一个格式良好的Xml 字符串.如何将此字符串转换为SqlXml?
我正在从openCV全屏绘制图像,这是一个60fps的大图像所以我需要比openCV gui更快的方式.
使用OpenGL我做:
void paintGL() {
glClear (GL_COLOR_BUFFER_BIT);
glClearColor (0.0,0.0,0.0,1.0);
glDisable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,width,height,0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_TEXTURE_2D);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, the_image_data );
glBegin(GL_QUADS);
glTexCoord2i(0,0); glVertex2i(0,height);
glTexCoord2i(0,1); glVertex2i(0,0);
glTexCoord2i(1,1); glVertex2i(width,0);
glTexCoord2i(1,0); glVertex2i(width,height);
glEnd();
glDisable(GL_TEXTURE_2D);
}
Run Code Online (Sandbox Code Playgroud)
现在我想绘制两个图像:侧面 - 使用openGL硬件来缩放它们.
我可以通过改变四边形尺寸缩小图像我不明白如何用glTexImage2()加载两个图像,因为没有与图像相关联的句柄或id.
我曾经听说过一种语言实现并正确运行垃圾收集,平均需要3倍的内存.我不确定这是假设应用程序是小型,大型还是其中之一.
所以我想知道是否有任何研究或实际数量的垃圾收集开销.另外我想说GC是一个非常好的功能.