小编And*_*ice的帖子

确定查询的进度(Oracle PL/SQL)

我是使用Oracle数据库的Web应用程序的开发人员.但是,UI通常会触发需要一段时间才能处理的数据库操作.因此,当这些情况发生时,客户端会想要一个进度条.

我最近发现我可以从第二个连接查询V $ SESSION_LONGOPS,这很棒,但它只适用于花费超过6秒的操作.这意味着我无法更新UI中的进度条,直到6秒过去.

我已经对V $ SESSION中的等待时间进行了研究,但就我所见,这还不包括等待查询.

有没有办法获得当前正在运行的会话查询的进度?或者我应该隐藏进度条直到6秒过去?

sql database oracle monitoring plsql

10
推荐指数
2
解决办法
8575
查看次数

EGL/OpenGL ES /切换上下文很慢

我正在开发一个OpenGL ES 2.0应用程序(在Windows上使用angleproject进行开发),它由多个"框架"组成.

每个帧都是一个独立的应用程序,不应干扰周围的帧.框架是使用OpenGL ES 2.0绘制的,由该框架内部运行的代码绘制.

我的第一次尝试是为每个帧分配一个帧缓冲区.但是存在一个问题 - 当一帧正在绘制时,OpenGL的内部状态会发生变化,如果下一帧没有全面重置每个已知的OpenGL状态,则可能存在副作用.这违背了我的要求,即每个框架应该是隔离的,而不是相互影响.

我的下一次尝试是每帧使用一个上下文.我为每个帧创建了一个独特的上下文.我正在使用共享资源,因此我可以对每个帧进行eglMakeCurrent,将每个帧渲染到自己的帧缓冲区/纹理,然后将eglMakeCurrent返回到全局,将每个纹理组合到最终屏幕.

这在隔离实例方面做得很好,但是.. eglMakeCurrent 非常慢.其中只有4个可以花费一秒钟或更长时间来渲染屏幕.

我可以采取什么方法?有没有办法可以加速上下文切换,或通过某种方式保存每帧的OpenGL状态来避免上下文切换?

opengl-es egl

5
推荐指数
1
解决办法
1588
查看次数

存储指向堆栈值的指针(Golang)

我正在尝试Go中的实验,看看如果我将指针存储到堆栈上的变量会发生什么,然后在原始变量离开作用域后访问该变量.

package main

import "fmt"

var p chan bool;

// a temp struct
type v struct {
    a int
}

func another_thread(vx *v) {
    // this code should be executed after a() returns so vx should be a pointer to a value that's no longer on the stack
    fmt.Printf("another_thread(): %p\n", vx);
    vx.a = 4 // am I updating a dangling pointer that may have unintentional side effects??
    fmt.Println(" - ", vx.a);
    p<-true;
}

func update_v(vx *v) {
    vx.a = 3; …
Run Code Online (Sandbox Code Playgroud)

pointers go

3
推荐指数
2
解决办法
1251
查看次数

标签 统计

database ×1

egl ×1

go ×1

monitoring ×1

opengl-es ×1

oracle ×1

plsql ×1

pointers ×1

sql ×1